{"id":"CVE-2026-5845","state":"PUBLISHED","title":"Improper authorization fallback allows scoped user-to-server token installation escape in GitHub Enterprise Server","description":"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.","publishedAt":"2026-04-21T22:42:13.198Z","updatedAt":"2026-04-22T18:04:05.173Z","severity":{"score":7.2,"label":"High","version":"4.0","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","source":"GitHub_P"},"assigner":"GitHub_P","products":["GitHub Enterprise Server"],"affected":[{"vendor":"GitHub","product":"Enterprise Server","defaultStatus":"unaffected","versions":[{"version":"3.20.0","status":"affected","lessThan":"3.20.1","changes":[{"at":"3.20.1","status":"unaffected"}],"versionType":"semver"},{"version":"3.19.0","status":"affected","lessThanOrEqual":"3.19.4","changes":[{"at":"3.19.5","status":"unaffected"}],"versionType":"semver"},{"version":"3.18.0","status":"affected","lessThanOrEqual":"3.18.7","changes":[{"at":"3.18.8","status":"unaffected"}],"versionType":"semver"},{"version":"3.17.0","status":"affected","lessThanOrEqual":"3.17.13","changes":[{"at":"3.17.14","status":"unaffected"}],"versionType":"semver"},{"version":"3.16.0","status":"affected","lessThanOrEqual":"3.16.16","changes":[{"at":"3.16.17","status":"unaffected"}],"versionType":"semver"},{"version":"3.15.0","status":"affected","lessThanOrEqual":"3.15.20","changes":[{"at":"3.15.21","status":"unaffected"}],"versionType":"semver"},{"version":"3.14.0","status":"affected","lessThanOrEqual":"3.14.25","changes":[{"at":"3.14.26","status":"unaffected"}],"versionType":"semver"}]}],"references":["https://docs.github.com/en/enterprise-server@3.20/admin/release-notes#3.20.1","https://docs.github.com/en/enterprise-server@3.19/admin/release-notes#3.19.5","https://docs.github.com/en/enterprise-server@3.18/admin/release-notes#3.18.8","https://docs.github.com/en/enterprise-server@3.17/admin/release-notes#3.17.14","https://docs.github.com/en/enterprise-server@3.16/admin/release-notes#3.16.17","https://docs.github.com/en/enterprise-server@3.15/admin/release-notes#3.15.21","https://docs.github.com/en/enterprise-server@3.14/admin/release-notes#3.14.26"],"weaknesses":["CWE-639"],"ingestedAt":"2026-10-29T20:12:32.778Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/5xxx/CVE-2026-5845.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-5845","state":"PUBLISHED","datePublished":"2026-04-21T22:42:13.198Z","dateUpdated":"2026-04-22T18:04:05.173Z","assignerShortName":"GitHub_P","assignerOrgId":"82327ea3-741d-41e4-88f8-2cf9e791e760","dateReserved":"2026-04-08T18:28:58.486Z"},"containers":{"cna":{"title":"Improper authorization fallback allows scoped user-to-server token installation escape in GitHub Enterprise Server","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"GitHub","product":"Enterprise Server","defaultStatus":"unaffected","versions":[{"version":"3.20.0","status":"affected","lessThan":"3.20.1","changes":[{"at":"3.20.1","status":"unaffected"}],"versionType":"semver"},{"version":"3.19.0","status":"affected","lessThanOrEqual":"3.19.4","changes":[{"at":"3.19.5","status":"unaffected"}],"versionType":"semver"},{"version":"3.18.0","status":"affected","lessThanOrEqual":"3.18.7","changes":[{"at":"3.18.8","status":"unaffected"}],"versionType":"semver"},{"version":"3.17.0","status":"affected","lessThanOrEqual":"3.17.13","changes":[{"at":"3.17.14","status":"unaffected"}],"versionType":"semver"},{"version":"3.16.0","status":"affected","lessThanOrEqual":"3.16.16","changes":[{"at":"3.16.17","status":"unaffected"}],"versionType":"semver"},{"version":"3.15.0","status":"affected","lessThanOrEqual":"3.15.20","changes":[{"at":"3.15.21","status":"unaffected"}],"versionType":"semver"},{"version":"3.14.0","status":"affected","lessThanOrEqual":"3.14.25","changes":[{"at":"3.14.26","status":"unaffected"}],"versionType":"semver"}]}],"references":[{"url":"https://docs.github.com/en/enterprise-server@3.20/admin/release-notes#3.20.1"},{"url":"https://docs.github.com/en/enterprise-server@3.19/admin/release-notes#3.19.5"},{"url":"https://docs.github.com/en/enterprise-server@3.18/admin/release-notes#3.18.8"},{"url":"https://docs.github.com/en/enterprise-server@3.17/admin/release-notes#3.17.14"},{"url":"https://docs.github.com/en/enterprise-server@3.16/admin/release-notes#3.16.17"},{"url":"https://docs.github.com/en/enterprise-server@3.15/admin/release-notes#3.15.21"},{"url":"https://docs.github.com/en/enterprise-server@3.14/admin/release-notes#3.14.26"}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"LOCAL","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","subConfidentialityImpact":"LOW","vulnIntegrityImpact":"HIGH","subIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"HIGH","baseScore":7.2,"vectorString":"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"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-639","lang":"en","description":"CWE-639 Authorization bypass through User-Controlled key","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_P","orgId":"82327ea3-741d-41e4-88f8-2cf9e791e760","dateUpdated":"2026-04-21T22:42:13.198Z"},"impacts":[{"capecId":"CAPEC-233","descriptions":[{"lang":"en","value":"CAPEC-233 Privilege Escalation"}]},{"capecId":"CAPEC-26","descriptions":[{"lang":"en","value":"CAPEC-26 Leveraging Race Conditions"}]}],"credits":[{"lang":"en","value":"ahacker1","type":"finder"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 1.0.1"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-04-22T18:03:53.486677Z","id":"CVE-2026-5845","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-04-22T18:04:05.173Z"}}]}}}