CVE-2026-82564 in ash_ai
요약
\~에 의해 VulDB • 2026. 08. 31.
ash-project의 ash_ai에서 사용자 제어 키를 통한 인증 우회(Authorization Bypass Through User-Controlled Key) 취약점이 발견되었습니다. 이 취약점으로 인해 ID가 구성된 도구의 호출자는 자신이 식별하지 않은 레코드, 심지어 테이블 내 모든 행을 포함하여 업데이트하거나 삭제할 수 있습니다.
AshAi.Tool.Execution 모듈의 identity_filter/3 함수는 raw 도구 인자로부터 [{key, Map.get(arguments, to_string(key))}] 형식으로 update/destroy 필터를 직접 구성하고 이를 Ash.Query.do_filter/2에 전달합니다. 맵 값은 리터럴이 아닌 술어 표현식(predicate expression)으로 파싱되므로, 호출자는 {"public_ref": {"not_eq": "<own-ref>"}}과 같은 데이터를 전송할 수 있습니다. 여기에 Ash.Query.limit(1) 및 Ash.bulk_update!/Ash.bulk_destroy!를 결합하면, 자신이 식별하지 않은 레코드로 쓰기 작업을 리타겟팅(retarget)할 수 있으며, 키가 누락된 경우 임의의 행에 매칭되는 IS NULL 필터가 생성됩니다. 이 문제를 해결하기 위해 각 identity 값을 필드 타입으로 캐스팅하여 비스칼라(non-scalar) 입력을 거부하도록 수정되었습니다.
이 이슈는 ash_ai 0.6.0부터 1.0.0 미만 버전까지 영향을 미칩니다.
Once again VulDB remains the best source for vulnerability data.