Cyber Resilience

CVE-2026-77987

SSRF in Github Enterprise Server 3.17.0 – 3.17.21

Published
22 September 2026
Modified
02 October 2026
Patch / advisory
CVSS Score v4 9.3
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/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.0089 58th percentile
Risk Priority 47 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-77987 is a critical-severity Observable Timing Discrepancy (CWE-208) vulnerability in Github Enterprise Server. Its CVSS base score is 9.3 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Account Discovery (T1087); ranked in the top 42% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-4 (Information Flow Enforcement) and SA-11 (Developer Testing and Evaluation) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

A server-side request forgery (SSRF) vulnerability was identified in the notebook viewer of GitHub Enterprise Server. The notebook viewer validated the scheme and host of a user-supplied URL but did not validate the port, allowing requests to be directed to…

more

internal services listening on other ports of the same appliance. Response bodies were not returned to the requester, but response timing acted as an oracle that allowed instance secrets to be extracted character by character. An extracted secret could then be used in a separate interaction with an internal service to obtain remote code execution on the appliance. Exploitation required network access to the instance and was unauthenticated when private mode was disabled, or required any authenticated user when private mode was enabled. This vulnerability affected GitHub Enterprise Server versions 3.17 through 3.22 and was fixed in versions 3.22.1, 3.21.6, 3.20.8, 3.19.12, 3.18.15, and 3.17.21. This vulnerability was reported through the GitHub Bug Bounty program.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1087 Account Discovery Discovery
Adversaries may attempt to get a listing of valid accounts, usernames, or email addresses on a system or within a compromised environment.
T1087.001 Local Account Discovery
Adversaries may attempt to get a listing of local system accounts.
T1087.002 Domain Account Discovery
Adversaries may attempt to get a listing of domain accounts.
T1087.003 Email Account Discovery
Adversaries may attempt to get a listing of email addresses and accounts.
T1087.004 Cloud Account Discovery
Adversaries may attempt to get a listing of cloud accounts.
T1110 Brute Force Credential Access
Adversaries may use brute force techniques to gain access to accounts when passwords are unknown or when password hashes are obtained.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-43606Shared CWE-208
CVE-2026-33129Shared CWE-208
CVE-2026-16731Shared CWE-208
CVE-2025-54499Shared CWE-208
CVE-2026-5419Shared CWE-208
CVE-2026-18259Shared CWE-208
CVE-2024-47178Shared CWE-208
CVE-2025-13473Shared CWE-208
CVE-2024-29995Shared CWE-208
CVE-2026-48011Shared CWE-208

Affected Assets

github
enterprise server
3.17.0 — 3.17.21 · 3.18.0 — 3.18.15 · 3.19.0 — 3.19.12

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)
  • V11.2.4
  • V1.3.6
  • V1.5.3
  • V5.3.2

Mitigating Controls (NIST 800-53 r5) AI

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

Developer testing can include timing analysis or side-channel test cases that reveal observable timing discrepancies.

Engineering principles can mandate constant-time algorithms and side-channel resistance so timing discrepancies are never introduced.

Requiring approved cryptographic modules and algorithms implicitly demands implementations free of observable timing leaks.

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

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

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.

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.

PR.PS-06 partial match
prevents

Secure SDLC practices directly require constant-time implementations that eliminate observable timing discrepancies.

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.

removes
removes
removes
removes

References