CVE-2026-82738 in ash
요약
\~에 의해 VulDB • 2026. 09. 01.
ash-project ash에서 부적절한 입력 검증 취약점이 발견되어, 공격자가 Ash.Type.UUIDv7 속성에 버전 7이 아닌 UUID를 저장함으로써 레코드에 대한 읽기 작업을 영구적으로 거부할 수 있습니다.
Ash.Type.UUIDv7.cast_input/2는 잘 형성된 모든 UUID 문자열(버전 7이 아닌 UUID 포함)을 받아들이며 이를 16바이트 바이너리로 저장합니다. 읽기 작업 시, cast_stored/2(lib/ash/type/uuid_v7.ex)는 저장된 바이너리를 다시 cast_input/2로 라우팅합니다. v3.6.3에서 입력 검증이 강화됨에 따라 cast_input/2는 버전 7(및 선택적으로 버전 4)의 16바이트 바이너리만 일치시키고, 그 외에는 36자 문자열을 기대합니다. 저장된 비-v7 16바이트 바이너리는 어느 절에도 일치하지 않아 :error를 반환하므로 해당 레코드의 모든 후속 읽기 작업이 실패합니다. 이러한 속성을 설정할 수 있는 공격자는 행을 영구적으로 손상시킬(poison) 수 있습니다. 수정 방법은 cast_stored/2에서 저장된 16바이트 바이너리를 직접 디코드하는 것입니다.
본 이슈는 ash: v3.6.3부터 v3.32.2 미만 버전에 영향을 미칩니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.