🇰🇷 한글 설명
Dokploy 0.29.13 미만 버전에서 데이터베이스 백업 및 복구 명령 생성 시 사용자 입력값이 쉘 명령에 직접 삽입되는 취약점이 발견되었습니다. 인증된 관리자가 데이터베이스 설정 필드에 악의적인 값을 입력하면 PostgreSQL, MySQL 등 컨테이너 내부에서 임의의 명령을 실행할 수 있습니다.
💡 쉬운 설명
관리자 권한을 가진 사용자가 데이터베이스 이름을 조작하여 서버에 몰래 명령을 내릴 수 있는 보안 약점입니다. 이를 통해 데이터베이스 정보를 훔치거나 서버 제어권을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
Dokploy is a free, self-hostable Platform as a Service (PaaS). Prior to 0.29.13, database backup and restore command builders in packages/server/src/utils/backups/utils.ts and packages/server/src/utils/restore/utils.ts interpolate database names, usernames, and passwords into nested shell command strings passed to child_process.exec(). An authenticated administrator with permission to create databases and configure backups can use crafted database configuration fields to execute arbitrary commands inside PostgreSQL, MariaDB, MySQL, MongoDB, or LibSQL containers, exposing database data and credentials and potentially enabling escape when a container is overprivileged. This issue is fixed in version 0.29.13.
📍 영향받는 시스템
Dokploy 0.29.13 미만 모든 버전
⚔️ 공격 벡터
인증된 관리자가 데이터베이스 설정 필드에 특수하게 제작된 명령어를 삽입하여 child_process.exec()를 통해 실행
🛡️ 대응 방법
Dokploy를 최신 버전인 0.29.13 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 Dokploy의 버전이 0.29.13 미만인지 확인하십시오.
npm list -g dokploy | grep dokploy || docker images | grep dokploy