Database/Container, Kubernetes & orchestration
Dokploy: WebSocket terminals authenticate but never authorize, giving any member a root shell in any container
Impact
The in-app terminal and log-streaming WebSocket handlers call validateRequest() to establish who the caller is and then never consult the role and permission model that every tRPC procedure enforces, and the container-terminal path passes an attacker-supplied containerId straight to docker exec without checking it against the caller's organization or service access. Any authenticated member can therefore open an interactive root shell in any container on the host, including the Dokploy container that mounts the Docker socket, and pivot from there to root on the host. Every tenant and project boundary the instance is supposed to enforce is bypassed with a single WebSocket connection - no injection, no crafted payload, just a container id. The vendor assigned two ids (CVE-2026-72863 for the missing authorization across the handlers, CVE-2026-72864 for the local /docker-container-terminal path); both are fixed by the same commit and the same release.
Who can reach it
Network access to the Dokploy WebSocket endpoints with any authenticated organization member account. Authentication is required; no particular role, permission grant, or project membership is.
What to do
Upgrade to Dokploy 0.29.13 and restart the Dokploy stack - commit 68f5afa adds the authorization checks to both handlers. No mitigation short of the upgrade is published; blocking the terminal and log WebSocket routes at a reverse proxy removes the feature but is the only stopgap the record supports. Restarting the Dokploy control plane is a daemon restart, not a node drain, but it interrupts in-flight deploys.
Also covers 1 CVE
The vendor assigned a separate id to each affected code path. They share this advisory, this score and this fix, so they are one entry here.
References
Related entries
- KubeVirt: Improper symlink validation in virt-handler lets a user with edit rights in one namespace escape to the hostCVE-2026-7374 · KubeVirtCritical
- Helm: Improper certificate validation allows unauthorized clients to connect to TillerCVE-2019-1010275 · HelmCritical
- Docker / moby: Code injection into `docker cp` via nsswitch loading a library from the container chrootCVE-2019-14271 · Docker / mobyCritical
- Helm: Malicious chart includes sensitive host content such as /etc/passwd, or triggers DoS, when loadedCVE-2019-18658 · HelmCritical
- Envoy: HTTP/2 request writes to the heap outside request buffers when the upstream is HTTP/1CVE-2019-18801 · EnvoyCritical
- Envoy: Header whitespace handling enables request smuggling and authorization bypassCVE-2019-18802 · EnvoyCritical
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.