Servers and applications
GHSA-vxxh-2cp7-gr59
Missing Ownership Check in Application Monitoring Endpoint
- Severity
- Medium 5.3
- Published
- 12 Nov 2026
- Last changed
- 12 Nov 2026
- Added to UpHeron
- 12 Nov 2026
- Fixed in
- 0.31.1
- Attack
- Over the network · Needs a user account · No user action needed
- Attacker can
- Read some data
- CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N- Sources
- Project advisories (GitHub)
Description
The readAppMonitoring tRPC procedure is gated by withPermission("monitoring", "read"), which verifies the caller holds the monitoring:read role within their own organization. It does not verify that the supplied appName belongs to the caller's organization before passing it to getApplicationStats.
getApplicationStats queries Docker Swarm by service label with no tenant filter, returning container resource metrics for whichever appName the caller supplies. Every other application-scoped procedure in this router (30 of 31) calls findApplicationById(applicationId) and asserts the returned application's organizationId matches ctx.session.activeOrganizationId before proceeding.
Any authenticated user on a self-hosted multi-tenant Dokploy instance can read container resource metrics (CPU, memory, network I/O, block I/O) for any application by name, including containers belonging to other organizations and the Dokploy control-plane service itself.
Affected software
| Software | Affected versions |
|---|---|
DokployServers and applications · github:dokploy/dokploy |
|
References
- GitHub Advisory Database https://github.com/advisories/GHSA-vxxh-2cp7-gr59
- github.com https://github.com/Dokploy/dokploy/security/advisories/GHSA-vxxh-2cp7-gr59