Divulgados o terceiro e o quarto caso de vulnerabilidades de bypass de logs de login no Azure Entra ID
(trustedsec.com)- Desde 2023, foram descobertas 4 vulnerabilidades de bypass de logs de login no Azure Entra ID; as duas mais recentes foram confirmadas como falhas graves capazes de emitir tokens válidos normalmente
- GraphGoblin contorna a geração de logs no fluxo OAuth2 ROPC ao repetir o parâmetro
scope, enquanto Graph**** faz com que os logs sejam completamente omitidos com uma string de User-Agent acima de 50 mil caracteres - Em ambos os casos, a causa apontada foi falha de logging por exceder o comprimento de colunas SQL, e a Microsoft concluiu a correção após o reporte
- A Microsoft classificou o problema como “Medium” e o corrigiu discretamente sem recompensa nem reconhecimento oficial; pelos critérios do CVSS, ele é avaliado no nível High (7,5~8,7 pontos)
- Como falhas causadas por validação insuficiente de entradas vêm se repetindo, a validação cruzada de logs e o reforço de regras de detecção com KQL são apontados como tarefas essenciais para equipes de segurança
Divulgação de vulnerabilidades de bypass de logs de login no Azure Entra ID
- Desde 2023, foram encontradas 4 vulnerabilidades de bypass de logs de login no Azure Entra ID
- As duas primeiras apenas permitiam verificar a validade da senha, mas as duas mais recentes atingiram um nível mais grave, com possibilidade de emissão de token válido
- Todas as vulnerabilidades já foram corrigidas pela Microsoft
-
Resumo de GraphNinja e GraphGhost
- GraphNinja: ao tentar login apontando para o endpoint de outro tenant, é possível saber se a senha é válida, mas nenhum log é gerado
- O atacante pode enviar a requisição de autenticação para um tenant externo e verificar pela resposta se a senha está correta
- Depois disso, a Microsoft introduziu logging adicional para corrigir o problema
- GraphGhost: ao usar um Client ID incorreto, o fluxo de autenticação falha após a validação da senha, e nos logs aparece apenas como falha
- A informação de que a senha estava correta não fica registrada nos logs administrativos
- A Microsoft corrigiu o problema adicionando aos logs de login a informação sobre a validação da senha
- GraphNinja: ao tentar login apontando para o endpoint de outro tenant, é possível saber se a senha é válida, mas nenhum log é gerado
-
Vulnerabilidade GraphGoblin
- GraphGoblin contorna a geração de logs no fluxo OAuth2 ROPC ao repetir o parâmetro
scope- Ao inserir milhares de repetições no formato
"openid openid openid ...", um token válido é emitido, mas nenhum registro fica nos logs de login do Entra ID
- Ao inserir milhares de repetições no formato
- A causa apontada foi falha de INSERT por exceder o comprimento de coluna SQL
- Presume-se que a string repetida de escopos tenha ultrapassado o limite do campo no banco de dados e impedido o armazenamento do log
- A Microsoft teve dificuldade para reproduzir o problema, mas concluiu a correção após receber evidência em vídeo
- GraphGoblin contorna a geração de logs no fluxo OAuth2 ROPC ao repetir o parâmetro
-
Graph****** (bypass baseado em User-Agent)
- Ao inserir uma string longa com mais de 50.000 caracteres no campo User-Agent, nenhum log é gerado
- A requisição de autenticação é processada normalmente e o token é emitido, mas o log fica totalmente ausente
- Supõe-se que a causa seja falha de logging por exceder o comprimento de coluna SQL
- A falha foi descoberta em 28/09/2025, e em 08/10 a Microsoft já havia concluído a correção antes mesmo do reporte
- Ao inserir uma string longa com mais de 50.000 caracteres no campo User-Agent, nenhum log é gerado
-
Resumo da linha do tempo
- 2025-09-20: descoberta inicial do GraphGoblin
- 2025-09-26: GraphGoblin reportado à Microsoft
- 2025-09-28: descoberta do Graph******
- 2025-10-08: correção do Graph****** concluída
- 2025-11-21: Microsoft reproduz com sucesso o GraphGoblin e inicia a correção
Resposta e avaliação da Microsoft
- A Microsoft classificou a vulnerabilidade como “Medium” e não ofereceu recompensa nem reconhecimento público
- Nos dois casos anteriores (2023~2024), houve recompensa e reconhecimento
- Desta vez, mesmo sendo um problema grave com emissão de token válido, ele foi avaliado como não importante
- A avaliação foi de 7,5 (High) no CVSS v3.1 e 8,7 (High) no CVSS v4.0
- A pontuação elevada decorre do impacto sobre a Integrity (integridade)
- A ausência de logs é considerada dano direto a um componente de segurança
- A Microsoft concluiu a correção duas semanas após reproduzir o problema
- No passado, a correção do GraphNinja levou 7 meses, e a do GraphGhost, 5 meses
Como detectar o bypass de logs
- Por meio de consultas KQL, é possível comparar o Session ID ou o UniqueTokenIdentifier entre os logs de atividade do Graph e os logs de sign-in
- Sessões que existem no Graph Activity, mas não nos logs de Sign-In, podem ser consideradas logins com bypass
- Porém, é necessário ter licença E5 para coletar logs do Graph Activity
- Exemplo de consulta KQL:
MicrosoftGraphActivityLogs | where TimeGenerated > ago(8d) | join kind=leftanti (union isfuzzy=true SigninLogs, AADNonInteractiveUserSignInLogs, AADServicePrincipalSignInLogs, AADManagedIdentitySignInLogs, MicrosoftServicePrincipalSignInLogs | where TimeGenerated > ago(90d) | summarize arg_max(TimeGenerated, *) by UniqueTokenIdentifier ) on $left.SignInActivityId == $right.UniqueTokenIdentifier- Se necessário, a comparação também pode ser feita com base em
SessionId - Com base no resultado da detecção, é possível configurar uma Azure Log Search Alert Rule
- Se necessário, a comparação também pode ser feita com base em
Resumo dos quatro bypasses de logs de login
| Momento da descoberta | Método | Emissão de token | Reconhecimento da Microsoft |
|---|---|---|---|
| 2023-08 / 2024-05 | Sem geração de log de validação de senha ao indicar ID de tenant externo | X | X |
| 2024-12 / 2025-04 | Indução de falha de autenticação com Client ID incorreto | X | X |
| 2025-09-20 | Overflow de coluna SQL por repetição de scope | O | X |
| 2025-09-28 | Overflow de coluna SQL por string longa de User-Agent | O | N/A |
Críticas ao processo de segurança da Microsoft
-
Falhas encontradas em múltiplos parâmetros da funcionalidade de logging de login do Entra ID
- Vulnerabilidades repetidas em campos centrais como
tenant ID,client ID,scopeeuser-agent - O problema não depende de ataque complexo, mas de uma simples falha de validação de entrada
- Há críticas à ausência de revisão de segurança e controle de qualidade na Microsoft
- Falhas semelhantes vêm se repetindo na mesma área ao longo de anos
- Também foi levantada a possibilidade de lacunas no processo de gestão de código ou no uso de geração de código por IA
- Vulnerabilidades repetidas em campos centrais como
-
Falta de transparência pública
- Nenhum dos quatro casos recebeu CVE, e não houve comunicado oficial
- Como CNA, a Microsoft decide de forma exclusiva se divulga ou não vulnerabilidades em seus próprios produtos
Conclusão
- Os logs de login do Azure Entra ID são dados centrais para detecção de intrusão em organizações do mundo todo
- Quando há omissão de logs, todo o sistema de detecção de ataques pode ficar neutralizado
- As quatro vulnerabilidades encontradas estavam todas em um nível que poderia ser detectado com fuzzing simples de entradas
- A Microsoft precisa de explicações públicas e de um processo de revisão de segurança mais transparente para lidar com essas falhas recorrentes
- Administradores e equipes de segurança devem complementar suas defesas com validação cruzada de logs e regras de detecção baseadas em KQL
1 comentários
Comentários do Hacker News
Isso faz lembrar o relatório do incidente de invasão da Microsoft publicado pela CISA
Foi o caso em que hackers apoiados por um Estado invadiram a Microsoft e penetraram em várias organizações, incluindo o Departamento de Estado dos EUA
O surpreendente é que quem descobriu a invasão não foi a Microsoft, mas sim um administrador de sistemas do Departamento de Estado que percebeu uma anomalia nos logs de e-mail
Link para o relatório da CISA
Eles simplesmente levaram para a nuvem os mesmos problemas da era Windows, e já houve dois casos de falha no isolamento entre tenants
Artigos relacionados: Azure’s Security Vulnerabilities Are Out of Control / Microsoft comes under blistering criticism for “grossly irresponsible” security
Em um artigo da ProPublica e da ArsTechnica criticando o Azure de frente, foi dito que especialistas federais em segurança cibernética descreveram a nuvem da Microsoft como “péssima”
Link do artigo
O estado atual da cibersegurança é frouxo demais para sistemas dos quais toda a civilização depende
É como sair para o oceano em um barco furado tapado com fita adesiva
Na discussão sobre logs SQL, parece ter sido uma situação em que o atacante enviou uma entrada longa demais e o INSERT falhou por exceder o tamanho da coluna
Como resultado, a tentativa de login não foi registrada
Parece um problema estrutural de projeto, com um fluxo de autenticação complexo demais
Já tive experiência com logs de auditoria do Azure registrando algo diferente do que realmente aconteceu
Eu excluí um client secret, e a UI dizia que estava apagando B, mas a API funcionava deixando apenas A
No fim, o log registrou como se eu tivesse feito aquilo, mas na verdade era um bug do sistema
Depois dessa experiência, minha confiança em logs de auditoria no geral ficou abalada, não só nos logs do Azure
Acho arriscado usá-los como prova em tribunal
Comparado às vulnerabilidades recentes do EntraID, o bypass de logs parece menos importante
Se a Microsoft já colocou uma vulnerabilidade crítica até no Notepad, isso não surpreende
Quando avaliei o Azure VPN no passado, não ficava absolutamente nenhum log de sucesso/falha de conexão
Quando levantei o problema, a Microsoft respondeu para eu registrar isso como uma solicitação de novo recurso
Naquele momento eu perdi completamente a confiança no Azure. Com o tempo, não parece melhorar, e sim piorar
O motivo de administradores de TI continuarem usando a Microsoft é que não há alternativas
Como o orçamento é pequeno e faltam pessoas, eu apenas mantenho tudo em um nível em que seja possível receber o salário e ir para casa
Quando a Microsoft falhou em reproduzir a vulnerabilidade do Azure e pediu evidência em vídeo, foi marcante o fato de terem mostrado tudo com uma única linha de comando curl
Foi um momento realmente satisfatório