🔍 CVE-2026-82673

0.0
CVSS Score
UNKNOWN
2026-08-31
2026-09-01 21:15
✅ 완료

🇰🇷 한글 설명

ash-project의 ash_admin에서 발생하는 경로 탐색(Path Traversal) 취약점으로, 공격자가 제어하는 바이트를 서버의 임의 경로에 쓸 수 있습니다. 파일 업로드 시 클라이언트가 제공한 파일명을 적절히 검증하지 않아 발생하며, 이를 통해 임의 파일 쓰기 및 원격 코드 실행(RCE)이 가능할 수 있습니다.

💡 쉬운 설명

파일을 업로드할 때 파일 이름에 특수 기호를 섞어 보내면, 서버의 허용된 폴더가 아닌 엉뚱한 시스템 폴더에 파일을 저장할 수 있는 문제입니다. 이를 악용하면 해커가 서버의 중요한 설정 파일을 바꾸거나 악성 프로그램을 실행할 수 있습니다.

🇺🇸 원문 (English)

Improper Limitation of a Pathname to a Restricted Directory (Path Traversal) vulnerability in ash-project ash_admin allows writing attacker-controlled bytes to arbitrary paths on the server. AshAdmin.Components.Resource.Form.consume_file_uploads/1 builds the destination as Path.join([tmp_dir, entry.client_name]) and writes it with File.cp!/2. entry.client_name is the browser-supplied filename and is not sanitized, and Path.join/1 does not normalize ... An upload named ../../../../var/www/app/priv/static/x.png therefore escapes the random temp directory and lands anywhere the BEAM user can write, enabling arbitrary file write and potentially remote code execution by overwriting application assets, configuration, or cron/ssh files. The only guard is an extension allowlist defaulting to :any that checks only the extension. The fix strips path components with Path.basename/1 before joining. This issue affects ash_admin: from 0.13.7 before 1.3.1.

📍 영향받는 시스템

ash_admin: 0.13.7 미만 1.3.1 버전

⚔️ 공격 벡터

파일 업로드 시 파일명에 '../'와 같은 경로 탐색 문자를 포함하여 전송

🛡️ 대응 방법

ash_admin을 1.3.1 이상의 버전으로 업데이트하거나, 파일 저장 전 Path.basename/1을 사용하여 경로 구성 요소를 제거해야 함

🔧 검증 코드

출력된 ash_admin의 버전이 1.3.1 미만인지 확인하여 취약 여부를 판단합니다.

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

💻 영향받는 소프트웨어

IBM WebSphere Application Server