Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable web dashboard, low-privilege editor auth required, scope changes to host OS enabling full CIA compromise.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
Dokploy is a free, self-hostable Platform as a Service (PaaS). Prior to 0.29.13, dockerContextPath accepted by apps/dokploy/components/dashboard/application/build/show.tsx flows through getDockerContextPath in packages/server/src/utils/filesystem/directory.ts into the unquoted cd command in packages/server/src/utils/builders/docker-file.ts before execution by execAsync, allowing an authenticated application editor to execute arbitrary commands on the Dokploy host. This issue is fixed in version 0.29.13.
AnalysisAI
Command injection in Dokploy's Docker build pipeline allows authenticated application editors to execute arbitrary OS commands on the Dokploy host by supplying shell metacharacters in the dockerContextPath build configuration field. The malicious path value flows from the dashboard UI through getDockerContextPath() directly into an unquoted cd shell command executed via execAsync, enabling full host-level code execution under the Dokploy server process. All Dokploy installations prior to version 0.29.13 are affected; no active exploitation or public exploit code has been identified at time of analysis, though exploitation requires only a low-privilege authenticated session.
Technical ContextAI
Dokploy (cpe:2.3:a:dokploy:dokploy:*:*:*:*:*:*:*:*) is a self-hosted Node.js PaaS that orchestrates Docker-based application deployments. The injection point is in packages/server/src/utils/builders/docker-file.ts, where user-supplied dockerContextPath is interpolated directly into a shell command string - cd ${dockerContextPath} - without quoting or escaping before being passed to execAsync. This is a textbook CWE-78 (OS Command Injection) flaw: shell metacharacters such as semicolons, backticks, $(), pipes, and && operators in the path value break out of the intended cd argument and execute attacker-supplied commands in the shell spawned by execAsync. The same class of injection was concurrently present in the nixpacks builder (publishDirectory) and the Docker provider (dockerImage), all fixed in the same PR by wrapping values with the shell-quote npm library's quote() function.
RemediationAI
Upgrade Dokploy to version 0.29.13 or later, which replaces all unquoted user-controlled values in shell command strings with shell-quote-escaped equivalents via the shell-quote npm library's quote() function. The fix is confirmed in release v0.29.13 at https://github.com/Dokploy/dokploy/releases/tag/v0.29.13 and implemented in commit cba0b253c7de4157dd932de7f16a2ad247c7cee9. If immediate upgrade is not possible, the compensating control with the lowest operational cost is to restrict who holds the application editor role - limit it to fully trusted operators, as the editor role is the minimum privilege enabling exploitation. As a secondary control, network-isolate the Dokploy management dashboard behind a VPN or IP allowlist so that only authorized personnel can reach the UI, reducing the pool of potential attackers. There is no configuration setting to disable dockerContextPath without disabling Dockerfile-based builds entirely. No workaround exists that permits normal use of the build feature while preventing injection.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
Same weakness CWE-78 – OS Command Injection
View allSame technique Command Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-55795