Executive brief
Dokploy is a self-hostable platform used to manage and deploy applications. A security flaw allows authorized users to execute malicious commands on the server by entering specially crafted text into application settings like branch names or repository URLs. This could allow an attacker to take full control of the server and any other applications hosted on it.
Technical details
Dokploy (v0.29.2 and earlier) is vulnerable to OS command injection because it uses JavaScript template literals to construct shell commands for Git and Docker operations. These commands are executed via 'child_process.exec()', which invokes a shell (/bin/sh -c). User-supplied inputs, including branch names, repository URLs, and Docker credentials, are interpolated directly into these strings without escaping. An authenticated attacker with application create/edit privileges can inject shell metacharacters (e.g., semicolons) to achieve remote code execution. Because Dokploy typically has access to the Docker socket, this can lead to full host compromise. While a 'shEscape()' function exists in the codebase, it was not applied to the deployment pipeline paths.
Affected products
- Dokploy Dokploy <= 0.29.2
Timeline
- 2026-05-11: advisory: GitHub Security Advisory published
- 2026-05-29: disclosed: CVE published to NVD