Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain victim user-to-server token via separate attack
-
DeliveryIdentify unscoped public repository target on GHES instance
-
ExploitSend authenticated API write request using victim token
-
ExecutionGHES authorization checks only installation read access
-
PersistRepository-scope binding check bypassed
-
ImpactWrite action (issue, comment, vulnerability report) created as victim user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the attacker to possess a valid user-to-server token issued by a GitHub App installation on the target GHES instance; this is a hard prerequisite and not trivially obtained. The target repositories must be public. The vulnerability is specific to tokens issued by global GitHub App installations where the authorization logic omitted the repository-scope binding check. Exploitation is limited to four write-action types: creating issues, issue comments, commit comments, and private vulnerability reports - broader write operations such as pushing code or modifying repository settings are not in scope. Authentication to the GHES instance is required via the stolen token (PR:L); unauthenticated exploitation is not possible. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N) is consistent with the description: exploitation is network-accessible and requires no user interaction, but the attacker must already possess a victim's user-to-server token (PR:L), and the integrity impact is constrained to low-consequence write actions such as issue and comment creation. No EPSS data was provided; however, given the medium CVSS score, token-theft prerequisite, and the absence of both KEV listing and public exploit code, real-world risk is moderate rather than critical. The most likely threat actor is an insider or someone who has already compromised a user's OAuth token through a separate attack. The absence of confidentiality impact (VC:N, VA:N) and the restriction to public repositories further narrow the blast radius. Security teams running GHES should treat this as a priority patch within their normal maintenance window rather than an emergency response. |
| Exploit ScenarioDerived | An attacker who has separately obtained a victim's user-to-server token - for example through phishing, credential theft, or a compromised OAuth flow - submits API requests to a public repository that the victim's GitHub App installation does not explicitly cover. Because GHES only validates read-access by the installation rather than explicit installation-to-repository binding, the server accepts the request and creates an issue, comment, or private vulnerability report appearing to originate from the victim user. No public exploit code is known to exist at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 01, 2026
Incorrect authorization in GitHub Enterprise Server allows an attacker who has obtained a victim's user-to-server token - issued by a GitHub App installation - to perform write operations on any public repository, regardless of whether that installation was explicitly granted access to the target repository. Affected installations span all GHES versions prior to 3.22, with fixes backported to six supported release trains. The CVSS 4.0 score is 5.3 (medium); no public exploit code has been identified and the vulnerability is not listed in the CISA KEV catalog at time of analysis.
RemediationAI
Upgrade GitHub Enterprise Server to the patched release for the installed branch: 3.16.20 (https://docs.github.com/en/enterprise-server@3.16/admin/release-notes#3.16.20), 3.17.17 (https://docs.github.com/en/enterprise-server@3.17/admin/release-notes#3.17.17), 3.18.11 (https://docs.github.com/en/enterprise-server@3.18/admin/release-notes#3.18.11), 3.19.8 (https://docs.github.com/en/enterprise-server@3.19/admin/release-notes#3.19.8), 3.20.4 (https://docs.github.com/en/enterprise-server@3.20/admin/release-notes#3.20.4), or 3.21.2 (https://docs.github.com/en/enterprise-server@3.21/admin/release-notes#3.21.2). If immediate patching is not feasible, restrict or audit GitHub App installations with global scope on your GHES instance; limiting which apps can operate as global apps reduces the attack surface until the patch is applied. Note that auditing existing user-to-server tokens for anomalous cross-repository writes on public repositories can help detect prior exploitation.
Affected VersionsENISA
Affected Packages
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 user-to-server tokens to act on behalf of a user within the scope of an installation. CWE-863 (Incorrect Authorization) describes failures where a system checks the wrong condition during access control. Here, the GHES authorization layer verified only that the app installation held read permissions on the target repository - a necessary but insufficient condition - without also confirming that the calling token's specific installation was explicitly scoped to that repository. This is a logic flaw in the repository-scope check for global app installations: the coarse 'has-read-access' predicate was accepted as a proxy for 'is explicitly authorized to act here,' allowing the token to reach repositories the installation was never granted. The CPE cpe:2.3:a:github:enterprise_server:*:*:*:*:*:*:*:* confirms the affected component is the self-hosted GHES platform. The fix adds an explicit installation-to-repository binding check for user-to-server tokens issued by global apps.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Token possession is the access prerequisite (PR:L); once held, exploitation is straightforward (AC:L); scope remains unchanged and impact is limited to low-severity integrity writes with no confidentiality or availability effect.
Primary rating from Vendor (GitHub_P).
CVSS VectorVendor: GitHub_P
DescriptionCVE.org
An incorrect authorization vulnerability was identified in GitHub Enterprise Server that allowed a user-to-server token scoped to a GitHub App installation to perform certain write operations on public repositories outside the token's intended scope. This was possible because the authorization check only verified that the installation had read permissions on the target repository rather than verifying that the token's installation was explicitly granted access to that repository. An attacker who obtained a victim's user-to-server token could create issues, issue comments, commit comments, and private vulnerability reports on any public repository, appearing as the victim user with no indication of the app involvement. This vulnerability was fixed by adding a repository scope check for user-to-server tokens issued by global apps. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.22 and was fixed in versions 3.21.2, 3.20.4, 3.19.8, 3.18.11, 3.17.17, 3.16.20. This vulnerability was reported via the GitHub Bug Bounty program.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Supply chain vulnerability in Eclipse Theia GitHub Actions workflow. The preview.yml workflow uses pull_request_target w
Supply chain attack vector in OpenLIT GitHub Actions workflows. The pull_request_target trigger with checkout enables ma
Eigent multi-agent workflow CI pipeline (ci.yml) uses pull_request_target with checkout of untrusted PR code, enabling a
An unsafe reflection vulnerability was identified in GitHub Enterprise Server that could lead to reflection injection. R
cmark-gfm is GitHub's extended version of the C reference implementation of CommonMark. Rated critical severity (CVSS 9.
An improper verification of cryptographic signature vulnerability was identified in GitHub Enterprise Server that allowe
Unauthenticated infrastructure overwrite in Hoppscotch API development ecosystem before 2026.2.0. Attackers can overwrit
A exposure of sensitive information vulnerability exists in Jenkins GitHub Plugin 1.29.1 and earlier in GitHubTokenCrede
OneUptime versions prior to 10.0.19 allow unauthenticated attackers to hijack GitHub App integrations across projects by
PolarLearn versions 0-PRERELEASE-15 and earlier lack proper state parameter validation in OAuth 2.0 authentication, enab
Path traversal in esm.sh CDN prior to version 0.0.0-20260116051925-c62ab83c589e allows unauthenticated remote attackers
actions/artifact is the GitHub ToolKit for developing GitHub Actions. Rated high severity (CVSS 7.5), this vulnerability
EUVD-2026-41145
GHSA-86rx-87q3-fqhc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB