CVE-2026-72869
KrytyczneCVSS 9.9Streszczenie
Dokploy przed wersją 0.29.13 w subskrypcji tRPC backup.restoreBackupWithLogs przekazuje parametr databaseName do funkcji przywracania, gdzie polecenia PostgreSQL, MariaDB, MySQL i MongoDB osadzają tę wartość w zagnieżdżonym tekście powłoki wykonywanym przez Node.js exec. Uwierzytelniony użytkownik z uprawnieniem backup:restore może dostarczyć spreparowany databaseName, który powłoka /bin/sh rozszerza przed docker exec, co prowadzi do wykonania dowolnych poleceń w kontekście hosta z uprawnieniami Docker.
Ocena ryzyka
Atakujący może wykonać dowolne polecenia na hoście z uprawnieniami Docker, co może prowadzić do pełnej kompromitacji systemu i danych.
Rekomendacja
Zaktualizuj Dokploy do wersji 0.29.13 lub nowszej, która zawiera poprawkę eliminującą podatność.
Oryginalny opis (angielski, źródło NVD)
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.

