Skip to main content

GitHub Enterprise Server CVE-2026-5845

| EUVDEUVD-2026-24552 HIGH
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-04-21 product-cna@github.com GHSA-29qm-pmxx-2p86
7.2
CVSS 4.0 · GitHub Advisory
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to GHES with GitHub App installation
  2. Delivery
    Revoke or delete the installation
  3. Exploit
    Trigger global-context authorization fallback
  4. Execution
    Race revocation timing via SSH push attribution
  5. Persist
    Capture victim-scoped ghu_ token
  6. Impact
    Reuse token to read/write private repositories out of scope

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Exploitation requires an authenticated attacker (PR:L) with an existing GitHub App installation whose lifecycle they can manipulate: the attack is triggered specifically by revoking or deleting an installation so that GHES applies its authorization fallback and treats it as a global installation context. The attacker must also win a token-revocation timing window and leverage Git-over-SSH push attribution to capture and reuse a victim-scoped ghu_ token (captured by the CVSS AT:P attack requirement and the high-complexity chaining). Limiting factors: it is not usable by an unauthenticated outsider, it is not automatable per CISA SSVC, it depends on a race condition rather than a deterministic request, and it only yields access to repositories reachable through the abused token's fallback context - all consistent with the near-zero EPSS and absence of known exploitation.

Impact

The signals point to a real but constrained, non-commodity risk. CVSS 4.0 base is 7.2 (High) with total technical impact per CISA SSVC, reflecting the high confidentiality and integrity loss (VC:H/VI:H) from reading and writing private repos. However, SSVC also rates Exploitation as 'none' and Automatable as 'no', and EPSS is negligible at 0.01% (2nd percentile), consistent with an attack that requires authentication (PR:L), an attack requirement/precondition (AT:P), and a fragile chain involving a revocation race and SSH push attribution - i.e., not a spray-and-pray bug. There is no CISA KEV listing and no known POC, so this is not evidence of active exploitation. One point to verify: the vendor scored AV:L, yet the described exploitation (reusing a token against the API/Git endpoints and manipulating installation state) reads as a network-reachable operation, so the local attack-vector choice should be confirmed with GitHub. Net: a genuine authorization-boundary defect worth patching on normal enterprise cadence, but not an emergency zero-day-class issue.

Exploit ScenarioDerived

An attacker who already holds a valid low-privilege account and a GitHub App installation on the GHES instance revokes or deletes that installation and, exploiting the revocation-timing window and SSH push attribution, captures a victim-scoped ghu_ token. Because GHES falls back to a global installation context for the now-revoked installation, the attacker replays the token to read and write private repositories outside the intended scope. No public exploit code is identified, and the chain's timing and preconditions (AT:P, AC-high) make it non-trivial to reproduce reliably.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 24, 2026

Improper authorization in GitHub Enterprise Server (GHES) lets an authenticated attacker abuse scoped user-to-server (ghu_) tokens to reach private repositories outside their intended GitHub App installation scope, including write access. The root cause is an authorization fallback that treated a revoked or deleted installation as a global installation context; chained with token-revocation timing and SSH push attribution, an attacker can obtain and reuse a victim-scoped token. It affects all GHES releases prior to 3.21 and was reported through the GitHub Bug Bounty program, with no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade to the fixed build on your release branch - 3.20.1, 3.19.5, 3.18.8, 3.17.14, 3.16.17, 3.15.21, or 3.14.26 (any release 3.21 or later is also fixed) - per the GitHub Enterprise Server admin release notes (e.g. https://docs.github.com/en/enterprise-server@3.20/admin/release-notes#3.20.1). Because this is a server-side authorization defect in GHES itself, no client-side configuration change fully mitigates it, so patching is the primary and effectively required control. As interim compensating measures on unpatched instances, consider revoking and rotating GitHub App installation credentials and user-to-server (ghu_) tokens to shrink the pool of reusable victim tokens, auditing GitHub App installation deletion/revocation events and unexpected cross-repository access, and tightening who can install or manage GitHub Apps to limit the authenticated foothold the attack requires; note these steps reduce exposure and aid detection but do not eliminate the underlying fallback flaw, and credential rotation may temporarily disrupt automation that relies on those tokens.

Affected VersionsENISA

Enterprise Server 3.19.0 ≤3.19.4
Enterprise Server 3.15.0 ≤3.15.20
Enterprise Server 3.16.0 ≤3.16.16
Enterprise Server 3.18.0 ≤3.18.7
Enterprise Server 3.17.0 ≤3.17.13
Enterprise Server 3.20.0 <3.20.1
Enterprise Server 3.14.0 ≤3.14.25

Affected Packages

euvd enterprise_server fix: 3.20.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

GitHub Apps issue scoped user-to-server tokens (prefixed ghu_) whose authority is bounded by a specific App installation, which in turn defines which repositories and permissions the token may exercise. This flaw is a CWE-639 (Authorization Bypass Through User-Controlled Key / improper authorization) defect in how GHES resolves the installation context for such tokens: when an installation was revoked or deleted, the authorization logic fell back to treating the request as a global installation context rather than denying it, effectively removing the per-installation repository boundary. The exploit also leverages the timing window around token revocation and how Git-over-SSH push operations attribute actions, allowing a victim-scoped token to be captured and replayed against private repositories the attacker should not reach. The CPE data confirms the affected component is github:enterprise_server (self-hosted GHES), with 3.20.0 explicitly enumerated and all prior 3.14-3.20 branches implicated.

Know when Github gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

GitHub Advisory PRIMARY 7.2 HIGH
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
vuln.today AI 8.2 HIGH

Authenticated attacker (PR:L) exploits a token-revocation race and SSH attribution (AC:H) over network endpoints (AV:N); crossing installation scope is a scope change (S:C) with high confidentiality/integrity but no availability impact.

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N

Primary rating from GitHub Advisory.

CVSS VectorGitHub Advisory

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

3
Patch released
Apr 29, 2026 - 12:30 nvd
Patch available
Patch available
Apr 22, 2026 - 02:01 EUVD
CVE Published
Apr 21, 2026 - 23:16 nvd
HIGH 7.2

DescriptionGitHub Advisory

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.

Executive ViewAI

Why It Matters

A privilege escalation vulnerability in GitHub Enterprise Server prior to version 3.21 allows authenticated users with scoped GitHub App tokens to bypass intended access controls and reach private repositories outside their authorized scope, including repositories they can modify. Organizations using GHES face exposure to repository compromise, unauthorized code changes, and potential supply chain attacks through attacker-modified source code. The vulnerability requires immediate patching to prevent abuse of the scoped token mechanisms that control third-party application access.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Prevalence
High
widely deployed self-hosted enterprise source-control platform in large organizations
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Github

View all
CVE-2026-1699 CRITICAL POC
10.0 Jan 30

Supply chain vulnerability in Eclipse Theia GitHub Actions workflow. The preview.yml workflow uses pull_request_target w

CVE-2026-27941 CRITICAL POC
9.9 Feb 26

Supply chain attack vector in OpenLIT GitHub Actions workflows. The pull_request_target trigger with checkout enables ma

CVE-2026-22869 CRITICAL POC
9.8 Jan 13

Eigent multi-agent workflow CI pipeline (ci.yml) uses pull_request_target with checkout of untrusted PR code, enabling a

CVE-2024-0200 CRITICAL POC
9.8 Jan 16

An unsafe reflection vulnerability was identified in GitHub Enterprise Server that could lead to reflection injection. R

CVE-2022-24724 CRITICAL POC
9.8 Mar 03

cmark-gfm is GitHub's extended version of the C reference implementation of CommonMark. Rated critical severity (CVSS 9.

CVE-2024-9487 CRITICAL POC
9.5 Oct 10

An improper verification of cryptographic signature vulnerability was identified in GitHub Enterprise Server that allowe

CVE-2026-28215 CRITICAL POC
9.1 Feb 26

Unauthenticated infrastructure overwrite in Hoppscotch API development ecosystem before 2026.2.0. Attackers can overwrit

CVE-2018-1000600 HIGH POC
8.8 Jun 26

A exposure of sensitive information vulnerability exists in Jenkins GitHub Plugin 1.29.1 and earlier in GitHubTokenCrede

CVE-2026-30920 HIGH POC
8.6 Mar 10

OneUptime versions prior to 10.0.19 allow unauthenticated attackers to hijack GitHub App integrations across projects by

CVE-2026-25221 HIGH POC
8.1 Feb 02

PolarLearn versions 0-PRERELEASE-15 and earlier lack proper state parameter validation in OAuth 2.0 authentication, enab

CVE-2026-23644 HIGH POC
7.5 Jan 18

Path traversal in esm.sh CDN prior to version 0.0.0-20260116051925-c62ab83c589e allows unauthenticated remote attackers

CVE-2024-42471 HIGH POC
7.5 Sep 02

actions/artifact is the GitHub ToolKit for developing GitHub Actions. Rated high severity (CVSS 7.5), this vulnerability

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy