Severity by source
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
PR:L because member:create permission is required; UI:N because the attacker controls the invited account and no victim interaction is needed.
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.6, Dokploy's organization.inviteMember tRPC procedure in apps/dokploy/server/api/routers/organization.ts allows a user with member:create permission to invite an account with the owner role, while packages/server/src/services/user.ts allows a privileged self-hosted user to create an account with an arbitrary role, enabling permanent organization takeover because owner roles cannot be demoted. This issue is fixed in version 0.29.6.
AnalysisAI
Privilege escalation in Dokploy prior to version 0.29.6 allows an authenticated user with member:create permission to permanently seize organization ownership by exploiting two authorization logic flaws: the inviteMember tRPC procedure fails to restrict the role parameter to non-owner values, and the user creation service in user.ts permits arbitrary role assignment on self-hosted instances. Because owner roles cannot be demoted through normal application controls once assigned, a successful takeover is irreversible without direct database intervention. No public exploit code has been identified at time of analysis; vendor-released patch v0.29.6 closes both vulnerable code paths.
Technical ContextAI
Dokploy is an open-source, self-hosted Platform as a Service built on a Next.js and tRPC stack. The vulnerability manifests in two server-side locations: apps/dokploy/server/api/routers/organization.ts, where the inviteMember tRPC procedure validates that the caller holds member:create permission but does not validate or clamp the role value supplied in the invitation payload, allowing elevation to the owner role; and packages/server/src/services/user.ts, where a privileged self-hosted user can invoke the account creation service and supply an arbitrary role, bypassing the organization-level role hierarchy entirely. CWE-269 (Improper Privilege Management) accurately describes the root cause: the authorization check verifies the caller's permission to perform the action class but fails to constrain the privilege level of the outcome. The irreversibility stems from a missing demotion pathway for owner-role accounts in the application logic. Affected product is identified by CPE cpe:2.3:a:dokploy:dokploy:*:*:*:*:*:*:*:*.
RemediationAI
Upgrade to Dokploy v0.29.6, confirmed as the vendor-released fix at https://github.com/Dokploy/dokploy/releases/tag/v0.29.6 and fix commit a07106d649991ea09892220873ea3243766c3e08. The patch addresses both the missing role validation in the inviteMember tRPC procedure and the arbitrary role assignment vector in user.ts. If immediate upgrade is not feasible, restrict the member:create permission exclusively to fully trusted administrator accounts, accepting reduced delegation capability as a trade-off; this closes the primary invitation vector but does not address the user.ts path on self-hosted instances. Additionally, audit all organization memberships for unexpected owner-role accounts via direct database inspection - any accounts already elevated through this flaw cannot be demoted through the application UI and require direct database correction even after applying the patch.
Dokploy self-hosted PaaS prior to 0.26.6 has a critical command injection vulnerability (CVSS 9.9) allowing authenticate
Dokploy versions before 0.26.6 contain hardcoded database credentials in the installation script, causing nearly all dep
Command injection in Dokploy (self-hosted PaaS) before 0.29.13 lets an authenticated low-privilege member run arbitrary
Command injection in Dokploy (self-hosted PaaS) before 0.29.13 lets an authenticated panel user run arbitrary commands o
Remote code execution in Dokploy 0.27.0 through 0.29.2 allows unauthenticated attackers to forge email-verification JWTs
Command injection in Dokploy (self-hostable PaaS) before 0.29.13 lets an authenticated user run arbitrary OS commands on
OS command injection in Dokploy self-hosted PaaS before 0.29.13 lets an authenticated member with service-deployment per
Command injection in Dokploy self-hostable PaaS before 0.29.13 lets an authenticated user with backup:read permission ru
Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us
OS command injection in Dokploy (self-hostable PaaS) before 0.29.13 lets an authenticated user holding the backup-restor
Cross-tenant remote command execution in Dokploy (self-hosted PaaS) before 0.29.13 lets any authenticated user holding o
Command injection in Dokploy self-hosted PaaS versions prior to 0.29.13 lets an authenticated user with database-service
Same weakness CWE-269 – Improper Privilege Management
View allSame technique Privilege Escalation
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-60476