CVE-2026-82734 in ash
요약
\~에 의해 VulDB • 2026. 09. 01.
ash-project의 ash에서 입력된 수량에 대한 검증 부재 취약점이 존재합니다. 이로 인해 공격자가 수치 범위 제약을 우회하거나 이후 연산이 실패하는 비유한(non-finite) 소수 값을 제출할 수 있습니다.
Ash.Type.Decimal은 cast_input/2 및 cast_stored/2(lib/ash/type/decimal.ex)에서 Ecto의 decimal 캐스트를 통해 입력값을 캐스팅하지만, 결과 값이 유한(finite)인지 여부를 확인하지 않습니다. Elixir의 Decimal 구조체는 Infinity와 NaN을 유효한 구조체로 간주하므로, "Infinity" 또는 "NaN"과 같은 값을 전달하면 캐스팅 과정을 통과하여 저장됩니다. NaN은 모든 범위(min 및 max 제약 조건)에 대해 false로 비교되므로 이러한 제약을 거부하지 않으며, 나중에 저장된 특수 값이 Decimal 산술 연산에서 사용되거나 데이터 계층에서 거절될 때 예외를 발생시켜 후속 요청을 실패시킵니다. 이 수정 사항에서는 캐스팅 단계에서 비유한(Non-finite) Decimal 값을 모두 거부합니다.
본 이슈는 ash 1.28.0부터 3.32.2 미만 버전까지 영향을 미칩니다.
If you want to get best quality of vulnerability data, you may have to visit VulDB.