Skip to main content

GitHub Enterprise Server EUVDEUVD-2026-93667

| CVE-2026-96890 HIGH
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-06 product-cna@github.com GHSA-jv57-8h35-3r6r
8.7
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Obtain push access to a repository
  2. Delivery
    Commit crafted GCP credential with malicious token endpoint
  3. Exploit
    Secret scanning validator requests attacker-controlled internal host
  4. Execution
    SSRF reaches internal services
  5. Impact
    Chain to code execution on appliance

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires: (1) an authenticated user holding push/contributor permission to at least one repository on the instance (PR:L); and (2) the instance must have GitHub Advanced Security enabled WITH secret scanning validity checks turned on - explicitly a non-default configuration. The specific trigger is the GCP service-account credential validator trusting and issuing a request to the token endpoint embedded in a committed credential without restricting the destination. Limiting factors that reduce realistic risk: the attacker must already be an authenticated contributor (not anonymous), the vulnerable feature is off by default so unconfigured instances are not exposed, and only GHES versions 3.20, 3.21, and 3.22 prior to the fixed releases are affected.

Impact

This is a genuinely high-severity issue but with meaningful real-world friction that tempers its priority. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H, 8.7 High) indicates a network-reachable attack by a low-privileged authenticated user with no interaction and full confidentiality/integrity/availability impact on the vulnerable appliance (SC:N/SI:N/SA:N confirms no spill to a subsequent system in the vendor's modeling, despite the SSRF-to-internal-host chaining). However, several real-risk dampeners are explicit in the description: exploitation requires an authenticated user with push access to a repository (PR:L, not an anonymous internet attacker), AND the appliance must have GitHub Advanced Security with secret scanning validity checks enabled - which GitHub explicitly calls a non-default configuration. No EPSS score, KEV listing, or POC is present in the provided data, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The vulnerability was responsibly disclosed via the GitHub Bug Bounty program rather than discovered in the wild, which is consistent with no observed exploitation. Net assessment: a real and serious vulnerability (SSRF chainable to RCE on the appliance) that warrants prompt patching, but the authentication requirement plus non-default feature prerequisite make opportunistic mass exploitation unlikely; the realistic threat is a malicious or compromised contributor targeting a specifically-configured GHES instance.

Exploit ScenarioDerived

A user with push permission to any repository on a GHES instance that has GitHub Advanced Security secret scanning validity checks enabled commits a crafted GCP service-account credential whose embedded token endpoint points at an attacker-chosen internal host. The secret scanning validator trusts that endpoint and issues a request to it from the appliance, giving the attacker SSRF into the internal network that can be chained toward remote code execution on the appliance. No public exploit code was identified in the provided data; the issue was reported through the GitHub Bug Bounty program.

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

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

Alert me

AnalysisAIv1 – Oct 06, 2026

Server-side request forgery in GitHub Enterprise Server 3.20, 3.21, and 3.22 lets an authenticated repository contributor with push permission cause the appliance to issue requests to attacker-controlled internal hosts, which can be chained to remote code execution on the appliance. The flaw sits in the secret scanning validator for GCP service account credentials, which trusts the token endpoint embedded in a committed credential and sends a request to it without restricting the destination, and it additionally requires GitHub Advanced Security with secret scanning validity checks enabled, a non-default configuration. No public exploit identified at time of analysis; vendor-released patches are 3.20.9, 3.21.7, and 3.22.2, and the issue was reported through the GitHub Bug Bounty program.

RemediationAI

Vendor-released patches: upgrade to GitHub Enterprise Server 3.20.9, 3.21.7, or 3.22.2 according to the release line you run, as documented at https://docs.github.com/en/enterprise-server@3.20/admin/release-notes#3.20.9, https://docs.github.com/en/enterprise-server@3.21/admin/release-notes#3.21.7, and https://docs.github.com/en/enterprise-server@3.22/admin/release-notes#3.22.2. If an immediate upgrade is not possible, the most direct compensating control is to disable secret scanning validity checks (or disable secret scanning / GitHub Advanced Security secret scanning features) on the affected appliance, which removes the vulnerable code path entirely; the trade-off is that leaked credentials will no longer be automatically verified, so alerts become noisier and detection of live secrets is delayed until manual triage. A second control is to constrain outbound network egress from the GHES appliance to an allowlist of required external endpoints so the validator cannot reach arbitrary internal or attacker-chosen hosts; the trade-off is that overly tight egress rules break legitimate validity checks and other appliance integrations, so the allowlist must be maintained as provider endpoints change. Additionally, because exploitation requires push/contributor permission, reducing or auditing the set of contributors with push rights on the affected instances limits who can trigger the issue, though this is a risk-reduction measure rather than a fix and should not replace patching. Note that the source data lists no interim patch or mitigation explicitly, so these compensating controls are derived from the described vulnerable feature rather than from the vendor advisories.

Affected VersionsENISA

Enterprise Server 3.22.0 <3.22.*
Enterprise Server 3.20.0 <3.20.*
Enterprise Server 3.21.0 <3.21.*

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

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

Technical ContextAI · show details

The root cause is CWE-918 (Server-Side Request Forgery): user-influenced input determines the destination of a server-initiated HTTP request. GitHub Enterprise Server's secret scanning performs "validity checks" that contact the issuing provider to confirm whether a detected credential is live; for GCP service account credentials, the validator extracted the token endpoint from the committed credential itself and issued a request to that URL without validating it against a trusted allowlist. Because the credential content is attacker-controlled, a contributor can point the appliance at arbitrary internal addresses (for example instance-local services, internal metadata endpoints, or admin interfaces reachable only from the appliance), turning the GHES host into a request proxy and providing a pivot for chaining into code execution. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, high confidentiality/integrity/availability impact, all subsequent threat metrics undefined) and our assessed CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) agree that the attacker must be an authenticated principal but that no user interaction, no special access conditions, and no elevated privileges beyond repository push rights are needed. No CPE strings or additional product mappings were supplied in the source data; the affected component is the GHES appliance itself as distributed by GitHub, and the vulnerability is configuration-gated because the vulnerable validator only runs when GitHub Advanced Security secret scanning with validity checks is enabled.

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

Vendor (github) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Network-reachable by an authenticated contributor (PR:L) with no interaction; full appliance compromise via chained RCE gives C:H/I:H/A:H, and impact stays within the appliance so S:U.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

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

Lifecycle Timeline

2
Patch available
Oct 06, 2026 - 20:04 EUVD
CVE Published
Oct 06, 2026 - 19:18 cve.org
HIGH 8.7

DescriptionCVE.org

A Server-Side Request Forgery (SSRF) vulnerability was identified in GitHub Enterprise Server that allowed a repository contributor to cause the appliance to issue requests to attacker-controlled internal hosts, which could be chained to achieve remote code execution on the appliance. The secret scanning validator for GCP service account credentials trusted the token endpoint embedded in a committed credential and issued a request to it without restricting the destination. Exploitation required an authenticated user with permission to push to a repository on an instance with GitHub Advanced Security and secret scanning validity checks enabled, a non-default configuration. This vulnerability affected GitHub Enterprise Server 3.20, 3.21, and 3.22 and was fixed in versions 3.20.9, 3.21.7, and 3.22.2. This vulnerability was reported through the GitHub Bug Bounty program.

Executive ViewAI

Why It Matters

GitHub Enterprise Server versions 3.20, 3.21, and 3.22 are affected by a high-severity server-side request forgery flaw in the secret scanning validator for GCP service account credentials that can be chained to remote code execution on the appliance. Exposure is constrained to organizations that have enabled GitHub Advanced Security secret scanning validity checks (a non-default configuration) and that grant repository contributors push permission, but where those conditions are met, a contributor can direct the appliance to attacker-controlled internal hosts and potentially gain code execution on the system hosting source code, secrets, and CI/CD workflows. Leadership should treat this as a configuration-dependent but high-consequence risk, with no public exploit identified at time of analysis and vendor-released patches available.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
High
widely deployed self-hosted enterprise DevOps appliance 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.4%
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
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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