Servers and applications
GHSA-66r5-5m5f-57vg
Cross-organization Git-provider secret disclosure (IDOR) via {github,gitlab,bitbucket,gitea}.one tRPC handlers
- Severity
- High 7.7
- Published
- 12 Nov 2026
- Last changed
- 12 Nov 2026
- Added to UpHeron
- 12 Nov 2026
- Fixed in
- 0.31.1
- Weakness
- Authorization bypass through a user-controlled key (IDOR) (CWE-639)Missing authorization (CWE-862)
- Attack
- Over the network · Needs a user account · No user action needed
- Attacker can
- Read data
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N- Sources
- Project advisories (GitHub)
Description
The Git-provider tRPC routers (github.ts, gitlab.ts, bitbucket.ts, gitea.ts) each expose a one query (and getRepositories/getBranches/testConnection) that loads a provider by a bare ID through protectedProcedure, which performs authentication ONLY and does NOT enforce organization scoping. The handler returns the full provider row including secrets: GitHub App private key, client secret, webhook secret; GitLab/Gitea OAuth secret + access/refresh tokens; Bitbucket API token.
Any authenticated user — including one who self-registers and creates their own organization (organization.create is protectedProcedure, available to every authenticated user, making the caller an owner) — can pass another organization's provider ID and read that organization's Git-provider credentials. This crosses the tenant trust boundary and yields the secrets needed to clone/modify the victim org's source repositories (e.g. minting GitHub App installation tokens from the leaked private key).
Affected software
| Software | Affected versions |
|---|---|
DokployServers and applications · github:dokploy/dokploy |
|
References
- GitHub Advisory Database https://github.com/advisories/GHSA-66r5-5m5f-57vg
- github.com https://github.com/Dokploy/dokploy/security/advisories/GHSA-66r5-5m5f-57vg