CVE-2026-81643 in ash_graphql
요약
\~에 의해 VulDB • 2026. 08. 30.
ash-project의 ash_graphql에서 잘못된 권한 부여 취약점이 발생하여, 구독자가 조회할 수 있는 권한이 없는 레코드에 대한 GraphQL subscription payload가 전달됩니다.
AshGraphql.Subscription.Batcher 모듈에서는 do_send/5 함수가 배치의 첫 번째 알림을 해결하고 should_send?/1로 필터링합니다. 이 과정은 forbidden 또는 not_found 코드가 있거나 코드 자체가 없는 오류를 포함하는 결과를 제외하여, 권한이 없는 결과가 유출되지 않도록 합니다. 그러나 배치 내 나머지 알림들은 프로세스 딕셔너리에서 읽혀 파이프라인을 다시 통과한 후 해당 필터 없이 결과 목록에 추가됩니다. 이들은 pubsub.publish_subscription/2로 전달되며, 여기서 not is_nil(record) 가드 조건은 nil 레코드만 제외할 뿐 오류를 포함하는 결과는 걸러내지 않습니다. 기본 1초 배치 간격 내에 자격 요건을 갖춘 두 개의 알림이 도착하기만 하면 되며, 배치는 기본적으로 활성화된 경로입니다. 수정 사항에서는 should_send?/1을 전체 배치에 적용합니다.
본 이슈는 ash_graphql의 버전 1.4.0부터 1.11.0 미만 버전에 영향을 미칩니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.