---
id: "CVE-2026-129433"
page: "https://infrastack.ai/live/CVE-2026-129433"
kind: "vulnerability"
aliases: ["CVE-2026-129433"]
title: "Dokploy: stored serviceName input runs shell commands as root on backups"
severity: "critical"
cvss: 9.9
epss: null
exploited: false
status: "open"
category: "other"
products: []
ecosystems: []
tags: ["backups", "docker", "dokploy", "other", "self-hosted"]
not_affected_if: ["managed-hosting", "version-0.31.1-or-later"]
published_at: "2026-11-14T13:17:22+00:00"
first_seen_at: "2026-11-14T13:28:10+00:00"
updated_at: "2026-11-14T13:28:57+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-129433", "first_seen_at": "2026-11-14T13:28:10+00:00"}]
exploit_sources: []
---

# Dokploy: stored serviceName input runs shell commands as root on backups

Link for people: https://infrastack.ai/live/CVE-2026-129433 (this .md is for agents)

Dokploy, a self-hosted deployment platform, passes a stored serviceName value to a shell in getComposeContainerCommand(), so shell metacharacters run as commands. An authenticated organization member can trigger this through backup settings, and scheduled backups execute the commands as root, which can take over the host through the mounted Docker socket.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Dokploy version: `dokploy --version` or the image tag in your compose file, and confirm whether it is below `0.31.1`.
- Review who holds organization member accounts in your Dokploy instance.
- Look for backup schedules and stored backup serviceName values containing shell characters such as `;`, `|`, `$(`, or backticks.

## Fix

- Dokploy: move to `0.31.1` or later.

## Timeline

- 2026-11-14T13:28:10+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-129433

## Documents

- [advisory] Vendor advisory: github.com https://github.com/Dokploy/dokploy/security/advisories/GHSA-j329-jw7j-rxjm
- [advisory] Third-party advisory: www.vulncheck.com https://www.vulncheck.com/advisories/dokploy-before-0.31.1-os-command-injection-via-compose-backup-servicename
- [fix] Patch: github.com https://github.com/Dokploy/dokploy/commit/b24006e16e95a10ce3daf739d06ac783e5c70ba0
- [fix] Release notes: github.com https://github.com/Dokploy/dokploy/releases/tag/v0.31.1

## From the sources

Dokploy before 0.31.1 contains an OS command injection vulnerability in getComposeContainerCommand() that allows authenticated organization members to execute shell commands via the serviceName parameter. Attackers can store serviceName values with shell metacharacters through backup.create or backup.update tRPC procedures, executing commands as root when scheduled backups run and taking over the host via the mounted Docker socket.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
