🔍 CVE-2026-55736

0.0
CVSS Score
UNKNOWN
2026-06-23
2026-10-25 23:10
✅ 완료

🇰🇷 한글 설명

ash-project의 ash 라이브러리에서 동적으로 결정되는 객체 속성을 부적절하게 제어하여 발생하는 취약점입니다. 사용자가 서버 측 코드에서만 제어되어야 하는 비공개 액션 인자(private action argument)의 값을 임의로 설정할 수 있습니다. 이를 통해 권한 상승이나 데이터 무결성 침해를 초래할 수 있습니다.

💡 쉬운 설명

서버 내부에서만 사용해야 하는 비밀 설정값을 외부 사용자가 몰래 조작할 수 있는 보안 구멍이 발견되었습니다. 공격자가 이 값을 바꾸면 관리자 권한을 얻거나 다른 사람의 정보를 마음대로 수정할 수 있습니다.

🇺🇸 원문 (English)

Improperly Controlled Modification of Dynamically-Determined Object Attributes vulnerability in ash-project ash allows a user to set the value of a private action argument that is intended to be controlled only by trusted server-side code. Action arguments declared with public?: false are meant to be set internally (for example via Ash.Changeset.set_private_argument/3) and must not be settable from end-user input. When a changeset is built from a parameter map, Ash filters out private arguments, but the filtering is incomplete. In the regular changeset path (for_create, for_update, for_destroy), private arguments are stripped only when the parameter key is an atom. When the key is a binary (string), as is the case for user-supplied parameters, the private argument is kept and the user controls its value. In the atomic path (Ash.Changeset.fully_atomic_changeset/4, also reached through atomic and bulk updates), private arguments are not stripped at all, regardless of whether the key is an atom or a binary. An attacker who can submit parameters to an action that defines a private argument can therefore inject a value for that argument. Depending on how the application uses the argument (for example an acting_user_id driving authorization or record ownership), this can lead to an integrity violation or privilege escalation. This issue affects ash: from 3.0.0 before 3.29.3.

📍 영향받는 시스템

ash: 3.0.0 버전부터 3.29.3 미만 버전

⚔️ 공격 벡터

사용자 입력 파라미터에 문자열(binary) 키를 사용하여 비공개 인자 값을 주입하는 방식

🛡️ 대응 방법

ash 라이브러리를 3.29.3 이상의 최신 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 ash의 버전이 3.29.3 미만인지 확인하십시오.

Shell / Script
mix deps info ash | grep -E 'ash \([0-9]+\.[0-9]+\.[0-9]+\)'

💻 영향받는 소프트웨어

IBM WebSphere Application Server