🔍 CVE-2026-81633

0.0
CVSS Score
UNKNOWN
2026-08-30
2026-09-01 21:15
✅ 완료

🇰🇷 한글 설명

ash-project의 ash_graphql 라이브러리에서 발생하는 입력값 검증 미흡 취약점입니다. 인증되지 않은 클라이언트가 조작된 relay node ID를 사용하여 쿼리를 보낼 경우, 처리되지 않은 KeyError가 발생하여 릴레이 노드가 충돌할 수 있습니다.

💡 쉬운 설명

공격자가 특수하게 조작된 아이디를 보내면 서버 프로그램이 예상치 못한 오류를 일으켜 갑자기 멈춰버릴 수 있습니다. 이는 서비스가 중단되는 원인이 될 수 있습니다.

🇺🇸 원문 (English)

Improper Input Validation vulnerability in ash-project ash_graphql allows an unauthenticated client to crash a relay node(id: ...) query with an unhandled KeyError. AshGraphql.Graphql.Resolver.resolve_node/2 decodes the client-supplied global ID with decode_relay_id/1, which only base64-decodes the string and splits it on : without validating the type segment. The decoded type is passed straight to Map.fetch!(type_to_domain_and_resource_map, type). Because fetch! raises on a missing key, a relay ID whose type segment is a valid atom that is not a relay-exposed type aborts the resolver before its resolve/2 clauses and their rescue handlers run, so the error never becomes a GraphQL error and may expose a stacktrace. Common resource names are easy to guess. The fix uses Map.fetch/2 and returns an Invalid node id error for unknown types. This issue affects ash_graphql: from 0.27.0 before 1.11.0.

📍 영향받는 시스템

ash_graphql: 0.27.0 버전부터 1.11.0 미만 버전

⚔️ 공격 벡터

인증되지 않은 사용자가 유효하지 않은 타입 세그먼트를 포함한 base64 인코딩된 relay ID를 쿼리에 포함하여 전송

🛡️ 대응 방법

ash_graphql 라이브러리를 1.11.0 이상의 최신 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 0.27.0보다 낮거나 1.11.0보다 낮은지 확인하십시오.

Shell / Script
mix deps info ash_graphql | grep -E 'ash_graphql \([0-9]+\.[0-9]+\.[0-9]+\)'

💻 영향받는 소프트웨어

Spring for GraphQL