🇰🇷 한글 설명
Dokploy의 0.29.13 미만 버전에서 발생하는 취약점으로, 백업 복구 기능의 databaseName 파라미터에 명령어를 삽입할 수 있습니다. 인증된 사용자가 조작된 값을 전달하면 호스트의 /bin/sh를 통해 Docker 권한으로 임의의 명령어가 실행될 수 있습니다.
💡 쉬운 설명
백업을 복구하는 과정에서 데이터베이스 이름을 입력할 때 악성 명령어를 섞어 넣을 수 있는 보안 구멍이 발견되었습니다. 이를 통해 해커가 서버의 제어권을 통째로 뺏을 수 있는 위험한 상태입니다.
🇺🇸 원문 (English)
Dokploy is a free, self-hostable Platform as a Service (PaaS). Prior to 0.29.13, the backup.restoreBackupWithLogs tRPC subscription passes the databaseName parameter to restore builders in packages/server/src/utils/restore/utils.ts, where PostgreSQL, MariaDB, MySQL, and MongoDB commands embed the value in nested shell text executed by Node.js exec. An authenticated user with backup:restore permission can supply a crafted databaseName that the host /bin/sh expands before docker exec, resulting in arbitrary commands running in the Docker-privileged host context. This issue is fixed in version 0.29.13.
📍 영향받는 시스템
Dokploy 0.29.13 미만 모든 버전
⚔️ 공격 벡터
백업 복구 권한을 가진 사용자가 tRPC 구독의 databaseName 파라미터에 쉘 명령어를 주입하여 공격
🛡️ 대응 방법
Dokploy를 최신 버전인 0.29.13 이상으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 0.29.13보다 낮으면 취약한 상태입니다.
npm list -g dokploy | grep -E 'dokploy@([0-9]+\.[0-9]+\.[0-9]+)'