CVE-2026-5845
What it is
An improper authorization vulnerability in scoped user-to-server (ghu_) token authorization in GitHub Enterprise Server allows an authenticated attacker to access private repositories outside the intended installation scope, which can include write operations, via an authorization fallback that treated a revoked/deleted installation as a global installation context, which could be chained with token revocation timing and SSH push attribution to obtain and reuse a victim-scoped token. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.21 and was fixed in versions 3.20.1, 3.19.5, 3.18.8, 3.17.14, 3.16.17, 3.15.21, and 3.14.26. This vulnerability was reported via the GitHub Bug Bounty program.
At a glance
- Exploitability
- Can be exploited locally on the machine with a low-privilege account. High risk of data exposure, data tampering.
- Exploit odds
- 0.3% chance of exploitation in the next 30 days (EPSS).
- Fix
- A patch, advisory or fixed version is referenced. Upgrade or apply it.
Timeline
- PublishedDisclosed publicly on CVE.org and NVD
- Last updatedMost recent change to the record
Details
- Published
- Last modified
- Exploit probability
- 0.3% · EPSS, next 30 days
- Weakness
- CWE-639 · Insecure direct object reference
- Record status
- Analyzed
Affected
- GitHub Enterprise Server < 3.14.26
- GitHub Enterprise Server < 3.15.21
- GitHub Enterprise Server < 3.16.17
- GitHub Enterprise Server < 3.17.14
- GitHub Enterprise Server < 3.18.8
- GitHub Enterprise Server < 3.19.5
- GitHub Enterprise Server 3.20.0
Attack profile CVSS 4.0 · 7.2
- Attack vector
- Local
- Complexity
- Low
- Attack requirements
- Present
- Privileges needed
- Low
- User interaction
- None
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Raw vector
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Fix and advisories
- https://docs.github.com/en/[email protected]/admin/release-notes#3.14.26
- https://docs.github.com/en/[email protected]/admin/release-notes#3.15.21
- https://docs.github.com/en/[email protected]/admin/release-notes#3.16.17
- https://docs.github.com/en/[email protected]/admin/release-notes#3.17.14
- https://docs.github.com/en/[email protected]/admin/release-notes#3.18.8
- https://docs.github.com/en/[email protected]/admin/release-notes#3.19.5
- https://docs.github.com/en/[email protected]/admin/release-notes#3.20.1
References
- https://docs.github.com/en/[email protected]/admin/release-notes#3.14.26
- https://docs.github.com/en/[email protected]/admin/release-notes#3.15.21
- https://docs.github.com/en/[email protected]/admin/release-notes#3.16.17
- https://docs.github.com/en/[email protected]/admin/release-notes#3.17.14
- https://docs.github.com/en/[email protected]/admin/release-notes#3.18.8
- https://docs.github.com/en/[email protected]/admin/release-notes#3.19.5
- https://docs.github.com/en/[email protected]/admin/release-notes#3.20.1