Cyber Resilience

CVE-2026-5921

SSRF in Github Enterprise Server ≤ 3.14.26

Published
21 April 2026
Modified
28 April 2026
Patch / advisory
CVSS Score v4 8.9
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0042 35th percentile
Risk Priority 36 floored blend · peak EPSS

Summary

CVE-2026-5921 is a high-severity SSRF (CWE-918) vulnerability in Github Enterprise Server. Its CVSS base score is 8.9 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 35th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-4 (Information Flow Enforcement) and SI-10 (Information Input Validation) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-5921 is a server-side request forgery (SSRF) vulnerability in GitHub Enterprise Server, specifically affecting the notebook rendering service. When private mode is disabled, the notebook viewer follows HTTP redirects without revalidating the destination host, enabling unauthenticated SSRF to internal services. Attackers can chain this with regex filter queries against an internal API and exploit timing side-channel differences in response times to extract sensitive environment variables character by character. The vulnerability impacts all versions of GitHub Enterprise Server prior to 3.21 and carries a CVSS v3.1 base score of 8.9 (AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:L), mapped to CWE-918.

An unauthenticated attacker can exploit this vulnerability by leveraging the instance's open redirect endpoint through an external redirect to port-scan or reach internal services. Once SSRF is achieved, the attacker measures response time variations from regex-based queries to infer secret values, such as environment variables, one character at a time. Exploitation requires private mode to be disabled, limiting its scope to misconfigured instances.

Mitigation involves updating to a patched version of GitHub Enterprise Server: 3.14.26, 3.15.21, 3.16.17, 3.17.14, 3.18.8, 3.19.5, or 3.20.1. Detailed release notes for these fixes are available in the GitHub documentation at the following URLs: https://docs.github.com/en/enterprise-server@3.14/admin/release-notes#3.14.26, https://docs.github.com/en/enterprise-server@3.15/admin/release-notes#3.15.21, https://docs.github.com/en/enterprise-server@3.16/admin/release-notes#3.16.17, https://docs.github.com/en/enterprise-server@3.17/admin/release-notes#3.17.14, and https://docs.github.com/en/enterprise-server@3.18/admin/release-notes#3.18.8. The issue was reported through the GitHub Bug Bounty program.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

A server-side request forgery (SSRF) vulnerability was identified in GitHub Enterprise Server that allowed an attacker to extract sensitive environment variables from the instance through a timing side-channel attack against the notebook rendering service. When private mode was disabled, the…

more

notebook viewer followed HTTP redirects without revalidating the destination host, enabling an unauthenticated SSRF to internal services. By chaining this with regex filter queries against an internal API and measuring response time differences, an attacker could infer secret values character by character. Exploitation required that private mode be disabled and that the attacker be able to chain the instance's open redirect endpoint through an external redirect to reach internal services. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.21 and was fixed in versions 3.14.26, 3.15.21, 3.16.17, 3.17.14, 3.18.8, 3.19.5, and 3.20.1. This vulnerability was reported via the GitHub Bug Bounty program.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2024-5746Same product: Github Enterprise Server
CVE-2026-9312Same product: Github Enterprise Server
CVE-2026-8606Same product: Github Enterprise Server
CVE-2023-22380Same product: Github Enterprise Server
CVE-2024-5815Same product: Github Enterprise Server
CVE-2025-8447Same product: Github Enterprise Server
CVE-2023-23760Same product: Github Enterprise Server
CVE-2026-3306Same product: Github Enterprise Server
CVE-2026-8034Same product: Github Enterprise Server
CVE-2024-1082Same product: Github Enterprise Server

Affected Assets

github
enterprise server
3.20.0 · ≤ 3.14.26 · 3.15.0 — 3.15.21 · 3.16.0 — 3.16.17

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.3.6
  • V1.5.3
  • V5.3.2
  • V10.4.7

Mitigating Controls (NIST 800-53 r5) AI

Information flow enforcement can restrict which destinations the server is allowed to contact on behalf of users.

Input validation directly stops untrusted URLs from being accepted and fetched without destination checks.

Boundary protection limits the network reach of server-initiated requests even if SSRF occurs.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure development practices directly include input validation and destination allow-listing that prevent SSRF.

DE.CM-09 partial match
prevents

Runtime monitoring of web applications and services can detect anomalous outbound requests indicative of SSRF.

ID.RA-01 partial match
prevents

Vulnerability identification processes can discover and record SSRF flaws in web applications.

PR.IR-01 partial match
prevents

Network segmentation and egress controls can limit the damage from successful SSRF requests.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Operational threat data describing SSRF campaigns can be used to tighten outbound-request allow-lists and detection rules before attackers exploit them.

References