GPU VulnDB

Database/Container, Kubernetes & orchestration

Dokploy: swarm endpoints skip the tenant check and inject nodeId into a remote command

CVSS 9.9CVE-2026-72876Container, Kubernetes & orchestrationcurated

Impact

Four swarm read endpoints accept a serverId belonging to another organization without checking activeOrganizationId, so a caller with only server:read can enumerate and query servers owned by other tenants. getNodeInfo then interpolates the caller-supplied nodeId into the string passed to execAsyncRemote, turning that cross-tenant read into arbitrary command execution as the configured SSH user on the other tenant's server. On a shared Dokploy instance managing build or deploy hosts, a low-privilege member of one organization gets a shell on infrastructure belonging to another - the tenant boundary the product exists to enforce is absent on this path. If the SSH user has Docker socket access, the shell is host-root-equivalent.

Who can reach it

Network access to the Dokploy API with an authenticated account holding server:read in any organization. No cross-tenant membership needed - the serverId of the target is the only thing required.

What to do

Upgrade to Dokploy 0.29.13 and restart the Dokploy stack (fix in commit 5563699). No mitigation short of the upgrade is published; revoking server:read from members narrows who can reach the path but does not close it. Restarting the Dokploy control plane interrupts in-flight deploys but does not require touching the managed nodes. On a shared instance, assume the SSH keys and any secrets reachable from the managed servers may have been exposed and rotate them.

References

Related entries

All Container, Kubernetes & orchestration entries

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.