🇰🇷 한글 설명
Dokploy 0.29.13 미만 버전에서 buildRemoteDocker() 함수가 사용자가 제어하는 dockerImage 값을 쉘 명령에 직접 삽입하여 발생합니다. 프로젝트 권한을 가진 인증된 사용자가 악의적인 dockerImage 값을 설정하고 배포를 실행하면, Dokploy 서버 프로세스 권한으로 임의의 운영체제 명령을 실행할 수 있습니다.
💡 쉬운 설명
Dokploy라는 서비스를 사용하는 사람이 설정값을 조작하여 서버를 마음대로 조종할 수 있는 보안 약점이 발견되었습니다. 공격자가 서버에 직접 명령을 내려 시스템을 장악할 위험이 있습니다.
🇺🇸 원문 (English)
Dokploy is a free, self-hostable Platform as a Service (PaaS). Prior to 0.29.13, the buildRemoteDocker() function in packages/server/src/utils/providers/docker.ts interpolates the application-controlled dockerImage value directly into a docker pull shell command. An authenticated user with project access can set a crafted dockerImage through application.update and trigger application.deploy, causing execAsync() to execute arbitrary operating-system commands as the Dokploy server process. This issue is fixed in version 0.29.13.
📍 영향받는 시스템
Dokploy versions prior to 0.29.13
⚔️ 공격 벡터
인증된 사용자가 application.update를 통해 조작된 dockerImage 값을 입력하고 application.deploy를 실행하여 명령 주입(Command Injection) 수행
🛡️ 대응 방법
Dokploy를 최신 버전인 0.29.13 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 0.29.13 미만이면 취약한 상태이며, 0.29.13 이상이면 안전합니다.
npm list -g dokploy | grep -E 'dokploy@'