Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Authenticated project user (PR:L) injects commands over the network (AV:N/AC:L); code executes on the host and reaches other containers, so scope changes (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.8, the getRegistryCommands() function in packages/server/src/utils/cluster/upload.ts interpolates registry.password and registry.registryUrl directly into a shell command without escaping. An authenticated user with project access can configure malicious registry credentials and trigger a swarm deployment to execute arbitrary OS commands on the Dokploy server, read or modify host files, and access other containers through Docker. This issue is fixed in version 0.29.8.
AnalysisAI
OS command injection in Dokploy self-hosted PaaS before 0.29.8 allows an authenticated user with project access to run arbitrary commands on the Dokploy host. The getRegistryCommands() function in packages/server/src/utils/cluster/upload.ts builds a docker login shell string by interpolating the attacker-controlled registry password and URL without escaping, so malicious credentials are executed when a swarm deployment runs. No public exploit identified at time of analysis, but the root cause and fix are fully disclosed in the vendor advisory (GHSA-prwq-2mcm-mvhr), PR #4579, and the v0.29.8 release.
Technical ContextAI
Dokploy is an open-source, self-hostable Platform-as-a-Service (a Heroku/Vercel alternative) that orchestrates application deployments via Docker Swarm. The flaw is a classic CWE-78 (Improper Neutralization of Special Elements used in an OS Command). Registry credentials are consumed by getRegistryCommands(), which originally produced the shell line echo "${registry.password}" | docker login ${registry.registryUrl} -u '${registry.username}' --password-stdin. Because registry.password and registry.registryUrl are interpolated directly into a string later handed to a shell, characters such as ", $(...), backticks, or ; break out of the intended docker login command. The fix (PR #4579) centralizes login-string construction in a new safeDockerLoginCommand() helper - applied in upload.ts, providers/docker.ts, and services/registry.ts - and adds sanitizeRegistryError() so credentials are not leaked back in error messages. CPE cpe:2.3:a:dokploy:dokploy:*:*:*:*:*:*:*:* identifies the affected application.
RemediationAI
Vendor-released patch: 0.29.8 - upgrade all Dokploy server instances to v0.29.8 or later, which replaces raw string interpolation with the safeDockerLoginCommand() helper (see PR https://github.com/Dokploy/dokploy/pull/4579 and commit 1f4f94042f1d874349c42d8ae7fee51346cd086e). Until patched, restrict registry-configuration and deployment permissions to fully trusted operators only, and audit existing registry entries for suspicious password or URL values containing shell metacharacters (quotes, $(, backticks, semicolons); note this compensating control does not close the hole and only shrinks the trusted attacker set. Because the injected commands run with the Dokploy server's Docker access, also review the advisory at https://github.com/Dokploy/dokploy/security/advisories/GHSA-prwq-2mcm-mvhr and consider isolating the Dokploy host from other sensitive workloads until the upgrade is completed.
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-55745