🇰🇷 한글 설명
Dokploy 0.26.6 이하 버전에서 appName 파라미터를 통한 OS 명령 주입 취약점이 발견되었습니다. 입력값 검증 미흡과 쉘 명령 직접 삽입이 결합되어, 인증된 공격자가 서버 권한으로 임의의 명령을 실행할 수 있습니다.
💡 쉬운 설명
프로그램 이름을 설정할 때 특수 문자를 넣으면 서버가 이를 명령어로 오해하여 실행하는 문제입니다. 이를 통해 해커가 서버의 제어권을 완전히 뺏을 수 있습니다.
🇺🇸 원문 (English)
Dokploy is a free, self-hostable Platform as a Service (PaaS). Versions 0.26.6 and below have OS command injection through the appName parameter. 3 chained issues cause this problem: inadequate input sanitization, lack of schema validation and direct shell interpolation. User-controlled application names are passed through inadequate sanitization (cleanAppName function only replaces spaces and converts to lowercase) before being interpolated directly into shell commands executed via execAsync() and execAsyncRemote(). An authenticated attacker can inject shell metacharacters (e.g., ;, $(), backticks, |, &) in the appName field during application creation, which are then executed with server-level privileges when service operations (start, stop, remove, scale) are triggered. This issue has been resolved in version 0.26.7.
📍 영향받는 시스템
Dokploy 0.26.6 및 그 이하 모든 버전
⚔️ 공격 벡터
인증된 사용자가 애플리케이션 생성 시 appName 필드에 쉘 메타문자(;, $, |, & 등)를 삽입하여 공격
🛡️ 대응 방법
Dokploy를 최신 버전인 0.26.7 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 범위(0.26.6 이하)가 나타나면 업데이트가 필요합니다.
npm list -g dokploy | grep -E 'dokploy@0\.(2[0-5]|26)\.[0-6]'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
💻 영향받는 소프트웨어
IBM WebSphere Application Server