Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Network-reachable dashboard, trivial payload (AC:L), requires an authenticated provisioning account (PR:L), and injected code runs on a separate managed host (S:C) yielding full host compromise (C/I/A:H).
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, the mariadb.ts, mongo.ts, mysql.ts, postgres.ts, redis.ts, and libsql.ts Dokploy database service deployment functions pass user-controlled dockerImage fields unquoted into docker pull ${dockerImage} shell commands on the remote-server code path. This vulnerability is fixed in 0.29.13.
Articles & Coverage 2
AnalysisAI
Command injection in Dokploy self-hosted PaaS versions prior to 0.29.13 lets an authenticated user with database-service provisioning rights run arbitrary shell commands on managed remote servers. The user-controlled dockerImage field for PostgreSQL, MySQL, MariaDB, MongoDB, Redis, and libSQL services is interpolated unquoted into a 'docker pull ${dockerImage}' command executed over the remote-server code path (execAsyncRemote), enabling shell metacharacter injection. Rated CVSS 9.9 with a scope change; no public exploit or CISA KEV listing is identified, though the patch ships a regression test demonstrating the injection.
Technical ContextAI
Dokploy is a free, self-hostable Platform-as-a-Service that provisions application and database containers onto managed remote hosts, typically over SSH-backed remote execution. The affected code lives in the server package database deploy functions (mariadb.ts, mongo.ts, mysql.ts, postgres.ts, redis.ts, libsql.ts), each of which built a shell command string 'docker pull ${dockerImage}' and dispatched it to the remote server. Because dockerImage is a user-supplied field with no quoting or validation, shell metacharacters ($(), backticks, ;, &&, |) are interpreted by /bin/sh. This is a classic CWE-78 OS Command Injection: untrusted input reaches a command interpreter without neutralization. The fix wraps the value with shell-quote's quote([dockerImage]) so the image reference is passed as a single safely-escaped token, while legitimate tags like postgres:16.4-alpine and ghcr.io/org/db:latest remain intact.
RemediationAI
Upgrade to Dokploy 0.29.13, which is the vendor-released patch that quotes the dockerImage field via shell-quote before it reaches the docker pull command (release: https://github.com/Dokploy/dokploy/releases/tag/v0.29.13; advisory: https://github.com/Dokploy/dokploy/security/advisories/GHSA-6jrh-8qmg-jj3p). Because exploitation requires an authenticated user who can create or modify database services, interim compensating controls if you cannot patch immediately include restricting which accounts hold database-provisioning permissions to a minimal set of fully trusted operators, disabling self-service database creation for untrusted or multi-tenant users, and auditing existing database service dockerImage values for shell metacharacters ($(), backticks, ;, &&, |). These access restrictions reduce the exposed population but do not close the flaw for privileged users, so they are stopgaps only; the reliable fix is the upgrade. There is no safe configuration workaround that preserves database-provisioning functionality for untrusted users.
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-55693