CVE-2026-82744 in Ash
요약
\~에 의해 VulDB • 2026. 09. 01.
Secure하게 실패하지 않음(Failing Open) 취약점이 있는 ash-project의 ash는 이를 제어하는 가드(guard)가 예외를 발생시킬 때 Ash.Reactor 변경 사항을 건너뛰므로, 실행되어야 할 변경 사항이 수행되지 않습니다.
Ash.Reactor의 변경 단계(change step)은 해당 변경 사항이 실행될지 여부를 결정하는 유효성 검사(validations)에 의해 차단될 수 있습니다. `Ash.Reactor.ChangeStep`(lib/ash/reactor/steps/change_step.ex)는 `apply_where_clauses/3`에서 이러한 가드를 평가했으며, `apply_validation`은 모든 예외를 `{:error, error}`로 처리했습니다. 리듀스(reduce) 연산자는 이를 단순히 조건이 충족되지 않은 가드와 동일하게 취급하여 변경 사항을 우회했습니다. 따라서 공격자가 조작한 입력 등 특정 상황에서 가드가 예외를 발생시키면, 보안에 중요한 수정을 강제하는 변경 사항이 단계 실패(failing the step) 대신 건너뛰어집니다.
해결책은 이제 발생한 예외(`{:raised, error}`)를 구분하여 오류로 단계를 중단함으로써 안전하게 실패하도록(failing closed) 합니다.
본 이슈는 ash 3.0.0-rc.17부터 3.32.2 미만 버전에서 영향을 받습니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.