Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Network-reachable tRPC API (AV:N) with trivial injection (AC:L) needs only a low-privilege member account (PR:L); Docker socket escalation to host root crosses a trust boundary (S:C) with full C/I/A impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4DescriptionCVE.org
Dokploy is a free, self-hostable Platform as a Service (PaaS). Prior to 0.29.13, Dokploy allows an authenticated low-privilege member to execute arbitrary commands on the control-plane host because the volumeName field accepted by volumeBackup.create and volumeBackup.runManually is interpolated without quoting in packages/server/src/utils/volume-backups/backup.ts and executed through child_process.exec, with Docker socket access making execution host/root-equivalent. This issue is fixed in version 0.29.13.
AnalysisAI
Command injection in Dokploy (self-hosted PaaS) before 0.29.13 lets an authenticated low-privilege member run arbitrary OS commands on the control-plane host. The volumeName field in the volumeBackup.create and volumeBackup.runManually tRPC endpoints is interpolated unquoted into a shell string passed to child_process.exec; because the process holds Docker socket access, injected commands run with host/root-equivalent privileges. No public exploit is identified at time of analysis, but the fix is a one-character-class change and the vulnerable code path is well documented in the published PR and advisory.
Technical ContextAI
Dokploy is a Node.js/TypeScript Heroku-style platform-as-a-service that orchestrates Docker containers and manages volume backups. The root cause is CWE-78 (OS Command Injection): in packages/server/src/utils/volume-backups/backup.ts the user-supplied volumeName is concatenated directly into a shell command and dispatched via Node's child_process.exec, which spawns /bin/sh and honors shell metacharacters (; | $() ` &). The affected component (cpe:2.3:a:dokploy:dokploy) runs with access to the Docker socket, so any command it executes can create privileged containers or mount the host filesystem, collapsing container isolation into full host root. The fix (PR #4873, commit d629faeb) introduces a VOLUME_NAME_REGEX (/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/) input validator and adopts shell-quote's quote() across backup, destination, certificate, and mount code paths - indicating the same unquoted-interpolation pattern existed in several sibling functions, not just volume backups.
RemediationAI
Vendor-released patch: upgrade to Dokploy 0.29.13 or later (release https://github.com/Dokploy/dokploy/releases/tag/v0.29.13), which enforces VOLUME_NAME_REGEX validation on volumeName and shell-quotes interpolated values. If you cannot upgrade immediately, restrict who can reach the volume-backup functionality: audit and reduce project membership so only fully trusted operators hold accounts, since exploitation requires an authenticated low-privilege member, and place the Dokploy control-plane UI/API behind network access controls (VPN or IP allowlist) to shrink the attacker pool - the trade-off is reduced convenience for legitimate remote team members. Because the process's Docker socket access is what makes this host/root-equivalent, consider running Dokploy's control plane with a hardened or proxied Docker socket (e.g., a socket-proxy limiting available Docker API endpoints), accepting that some orchestration features may break. Review the advisory GHSA-w223-vw9m-4f9c and the PR #4873 diff, which also hardened destination, certificate, and mount code paths, before assuming volume backups are the only exposure.
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-55798