CVE-2026-82732 in ash_typescript정보

요약

\~에 의해 VulDB • 2026. 09. 01.

ash-project의 ash_typescript에서 부적절한 입력 검증 취약점이 발견되어, 원격 공격자가 선언된 허용 목록(allowlist) 또는 타입화된 컨트롤러 라우트의 바운드(bound) 밖의 인수 값을 제출할 수 있습니다.

AshTypescript.TypedController.RequestHandler(lib/ash_typescript/typed_controller/request_handler.ex)는 Ash.Type.cast_input/3를 호출하며 {:ok, cast} 결과를 완전히 검증된 것으로 처리합니다. 그러나 Ash에서는 이 두 단계가 분리되어 있습니다: cast_input/3는 형식 변환(coercion)만 수행하는 반면, 인수에 선언된 모든 제약 조건은 apply_constraints/3에서 적용됩니다. 해당 경로에서는 apply_constraints를 호출하지 않으므로 one_of, max_length, min 및 max, match와 같은 제약 조건이 무력화(inert)되어 허용 목록 밖의 값이 수락되고 라우트 핸들러로 전달됩니다. Codegen은 동일한 제약 조건을 생성된 TypeScript 타입으로 렌더링하므로, TypeScript 호출자에게는 허용 목록이 강제되는 것처럼 보이지만 다른 HTTP 클라이언트는 이를 무시합니다. 또한 빈 문자열을 nil로 정규화(normalization)하는 로직도 apply_constraints에 포함되어 있으므로 allow_nil?: false 검사는 필수 인수에 대해 ""를 수락합니다.

제약 조건이 역할(role), 상태(status), 또는 정렬 방향(sort direction)을 제한하는 경우, 이는 권한 상승(privilege escalation) 또는 상태 머신(state-machine) 우회로 이어집니다.

본 이슈는 ash_typescript 0.15.0부터 0.18.0 미만 버전에서 영향을 받습니다.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

EEF

예약하다

2026. 08. 31.

모더레이션

수락

항목

VDB-397506

EPSS

0.00000

출처

Might our Artificial Intelligence support you?

Check our Alexa App!