Skip to main content

Dokploy CVE-2026-45631

| EUVDEUVD-2026-33355 CRITICAL
Use of Hard-coded Credentials (CWE-798)
2026-05-29 GitHub_M
10.0
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
10.0 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Primary rating from Vendor (GitHub_M) · only source for this CVE.

CVSS VectorVendor: GitHub_M

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

3
Patch available
May 29, 2026 - 19:01 EUVD
Source Code Evidence Fetched
May 29, 2026 - 17:53 vuln.today
Analysis Generated
May 29, 2026 - 17:53 vuln.today

DescriptionCVE.org

Dokploy is a free, self-hostable Platform as a Service (PaaS). From 0.27.0 to before 0.29.3, a hardcoded BETTER_AUTH_SECRET fallback ("better-auth-secret-123456789") lets an unauthenticated attacker forge email verification JWTs, trigger auto-sign-in as admin, and execute commands on the host via the built-in SSH terminal. This vulnerability is fixed in 0.29.3.

AnalysisAI

Remote code execution in Dokploy 0.27.0 through 0.29.2 allows unauthenticated attackers to forge email-verification JWTs using a hardcoded BETTER_AUTH_SECRET fallback ('better-auth-secret-123456789'), auto-sign-in as admin, and run arbitrary commands on the host through the built-in SSH terminal. The flaw carries a CVSS 10.0 score with network attack vector and no required privileges, and while no public exploit is identified at time of analysis, the trivially guessable secret makes weaponization straightforward.

Technical ContextAI

Dokploy is a self-hostable Platform-as-a-Service (PaaS) similar to Heroku/Vercel that uses the better-auth authentication library for session and email-verification token management. better-auth signs JWTs (including the email verification token consumed during sign-up/sign-in flows) with the BETTER_AUTH_SECRET environment variable; when operators failed to set this variable, Dokploy fell back to the literal string 'better-auth-secret-123456789' baked into the source. This is a textbook CWE-798 (Use of Hard-coded Credentials) issue: because the secret is public knowledge in the source tree, any attacker can mint valid signed tokens. Combined with Dokploy's built-in browser SSH terminal - a feature intentionally exposed to authenticated admins for managing the host running the PaaS - token forgery escalates directly to host command execution.

RemediationAI

Upgrade immediately to Dokploy 0.29.3 or later, which is the vendor-released patch per the GitHub Security Advisory GHSA-w3gm-rc4p-9rhj (https://github.com/Dokploy/dokploy/security/advisories/GHSA-w3gm-rc4p-9rhj). As a pre-upgrade workaround, set a strong, randomly generated BETTER_AUTH_SECRET environment variable (e.g., 'openssl rand -base64 48') and restart Dokploy - this breaks the hardcoded-fallback code path and invalidates any tokens an attacker may have already forged (existing legitimate sessions will also need to re-authenticate). If patching is not immediately possible, additionally restrict the Dokploy web UI to a VPN or trusted IP allowlist via a reverse proxy or host firewall, since the attack requires network reachability to the auth endpoint; note this still leaves any user who can reach the UI (including internal attackers) able to exploit. After patching, rotate the BETTER_AUTH_SECRET, force-invalidate all existing sessions, audit the admin user list and SSH terminal command history for unauthorized activity, and rotate any credentials/SSH keys stored within Dokploy.

CVE-2026-24841 CRITICAL POC
9.9 Jan 28

Dokploy self-hosted PaaS prior to 0.26.6 has a critical command injection vulnerability (CVSS 9.9) allowing authenticate

CVE-2026-24840 HIGH POC
8.0 Jan 28

Dokploy versions before 0.26.6 contain hardcoded database credentials in the installation script, causing nearly all dep

CVE-2026-72901 CRITICAL
9.9 Aug 10

Command injection in Dokploy (self-hosted PaaS) before 0.29.13 lets an authenticated low-privilege member run arbitrary

CVE-2026-72902 CRITICAL
9.9 Aug 10

Command injection in Dokploy (self-hostable PaaS) before 0.29.13 lets an authenticated user run arbitrary OS commands on

CVE-2026-72867 CRITICAL
9.9 Aug 10

Authenticated command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us

CVE-2026-72862 CRITICAL
9.9 Aug 10

Command injection in Dokploy self-hosted PaaS versions prior to 0.29.13 lets an authenticated user with database-service

CVE-2026-72872 CRITICAL
9.9 Aug 10

OS command injection in Dokploy (self-hosted PaaS) before 0.29.13 lets a low-privileged team member with service-deploym

CVE-2026-72868 CRITICAL
9.9 Aug 10

Command injection in Dokploy self-hosted PaaS before 0.29.13 lets a low-privileged organization member run arbitrary OS

CVE-2026-72882 CRITICAL
9.9 Aug 10

OS command injection in Dokploy (self-hosted PaaS) version 0.28.8 and earlier lets an authenticated user with permission

CVE-2026-72869 CRITICAL
9.9 Aug 10

OS command injection in Dokploy (self-hosted PaaS) before 0.29.13 lets an authenticated user with the backup:restore per

CVE-2026-72865 CRITICAL
9.9 Aug 10

OS command injection in Dokploy self-hosted PaaS prior to 0.29.13 lets an authenticated project member with compose writ

CVE-2026-72880 CRITICAL
9.9 Aug 10

Server-side command injection and path traversal in Dokploy, a self-hostable Platform-as-a-Service, allows an authentica

Share

CVE-2026-45631 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy