All vulnerabilities

Servers and applications

GHSA-6947-4ch9-7px7

Deployment history exposes registry passwords from rollback snapshots

Severity
High 8.3
Published
12 Nov 2026
Last changed
12 Nov 2026
Added to UpHeron
12 Nov 2026
Fixed in
0.31.1
Weakness
Information exposure (CWE-200)
Attack
Over the network · Needs a user account · No user action needed
Attacker can
Read data
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:H/SA:N
Sources
Project advisories (GitHub)

Description

A member with deployment-history access may inspect an assigned application's rollbacks. That response should not contain plaintext credentials for its image registries.

Commit c968a275 removed registry passwords from service-level API responses, but changed createRollback() to fetch all three registry records with credentials and persist them inside rollback.fullContext.

The ordinary deployment-history query joins the complete rollback row and returns it to any member with deployment:read on the application. The application deployment page polls this query, so the response discloses the plaintext registry, build-registry, and rollback-registry passwords without requiring registry permission.

createRollback() resolves registryId, buildRegistryId, and rollbackRegistryId through findRegistryByIdWithCredentials() and writes the resulting objects to the JSON fullContext column. The deployment-history query then joins the complete rollback row and returns it.

From Dokploy/dokploy's security advisory. Shortened; the full text is there.

Affected software

SoftwareAffected versions
DokployServers and applications · github:dokploy/dokploy
  • Every version before 0.31.1

References