CVE-2026-82367 in ash_graphql
요약
\~에 의해 VulDB • 2026. 08. 30.
ash-project의 ash_graphql에서 잘못된 세션으로 데이터 요소가 노출되는 취약점으로 인해 한 구독자의 해결된 레코드가 다른 구독자의 토픽에 전달될 수 있습니다.
AshGraphql.Subscription.Batcher.do_send/5는 프로세스 사전(Process dictionary)를 통해 `Process.get(:batch_resolved)`로 해결된 배치(batch)를 읽은 후 이를 무조건 삭제합니다. 이는 라이브러리가 소유한 태스크 내부에서만 유효합니다. :backpressure_sync 및 :noproc 폴백(fallbacks)에서 do_send/5는 발행 호출자(publishing caller)의 프로세스 내에서 인라인으로 실행되므로, 외부 do_send/5 내의 리졸버(resolver)가 또 다른 동기식 Ash 알림을 트리거하면 내부 호출은 외부 실행(run)의 값이 여전히 :batch_resolved 아래에 있는 것을 발견하고 이를 자신의 결과로 채택하여 내부 토픽(다른 구독자 문서이며, 서로 다른 액터(actor)와 테넌트(tenant)를 가짐)으로 게시합니다. 그런 다음 해당 키(key)를 삭제하므로 외부 실행은 아무것도 게시하지 못하게 됩니다. 키가 실행(run)별로 네임스페이스(namespace)로 구분되지 않으므로 레코드를 구별할 수 없습니다. 수정 방법은 각 실행 주위에서 :batch_resolved 값을 저장, 지우기 및 복원하는 것입니다.
이 이슈는 ash_graphql 1.4.0부터 1.11.0 미만 버전까지 영향을 미칩니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.