Improper authorization fallback allows scoped user-to-server token installation escape in GitHub Enterprise Server
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 3.20.1
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- GitHub Enterprise Server
From 3.20.0 · fixed in 3.20.1; From 3.19.0 · through 3.19.4; From 3.18.0 · through 3.18.7; From 3.17.0 · through 3.17.13; From 3.16.0 · through 3.16.16; From 3.15.0 · through 3.15.20; From 3.14.0 · through 3.14.25
References 7
docs.github.com
- en/enterprise-server@3.20/admin/release-notes#3.20.1
- en/enterprise-server@3.19/admin/release-notes#3.19.5
- en/enterprise-server@3.18/admin/release-notes#3.18.8
- en/enterprise-server@3.17/admin/release-notes#3.17.14
- en/enterprise-server@3.16/admin/release-notes#3.16.17
- en/enterprise-server@3.15/admin/release-notes#3.15.21
- en/enterprise-server@3.14/admin/release-notes#3.14.26