🔍 CVE-2026-45626

6.3
CVSS Score
MEDIUM
2026-05-29
2026-07-21 15:10
✅ 완료

🇰🇷 한글 설명

Arcane 1.18.1 및 이전 버전에서 특정 API 엔드포인트의 경로 매개변수가 쉘 명령어로 전달될 때 발생하는 명령 주입 취약점입니다. 경로 검증 과정에서 상위 디렉토리 이동은 차단하지만, 쉘 메타문자인 $()나 백틱을 필터링하지 못해 인증된 사용자가 헬퍼 컨테이너 내에서 임의의 명령을 실행할 수 있습니다.

💡 쉬운 설명

도커를 관리하는 프로그램의 허점을 이용해 해커가 몰래 명령어를 입력하여 시스템을 조작할 수 있는 문제입니다. 권한이 있는 사용자가 특수 기호를 섞은 경로를 입력하면 프로그램이 이를 명령어로 착각하여 실행하게 됩니다.

🇺🇸 원문 (English)

Arcane is an interface for managing Docker containers, images, networks, and volumes. In 1.18.1 and earlier, GET /environments/{id}/volumes/{volumeName}/browse accepts a path query parameter that is passed to a shell command (sh -c "find … | while …") inside an Arcane helper container. The path sanitiser blocks ../ traversal but does not strip Bourne-shell metacharacters such as $() or backticks, and strconv.Quote only escapes Go string metacharacters, not shell substitution sequences. Any authenticated user with access to a browseable volume can execute arbitrary commands inside the helper container; command output is reflected back in the 500 error body.

📍 영향받는 시스템

Arcane 1.18.1 및 그 이전 버전

⚔️ 공격 벡터

인증된 사용자가 GET /environments/{id}/volumes/{volumeName}/browse 요청 시 경로 매개변수에 쉘 메타문자($(), ``)를 삽입하여 공격

🛡️ 대응 방법

Arcane을 최신 보안 패치가 적용된 버전으로 업데이트하거나, 입력값에 대한 쉘 메타문자 필터링 로직을 강화해야 합니다.

🔧 검증 코드

응답 결과의 500 에러 본문에 현재 실행 중인 사용자 이름이 포함되어 출력되면 취약한 상태입니다.

Shell / Script
curl -s -i -X GET "http://<target>/environments/1/volumes/test/browse?path=$(whoami)" | grep -E '500|HTTP/1.1'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L

💻 영향받는 소프트웨어

Docker