CVE-2026-77987: GitHub Enterprise Server notebook viewer vulnerable to Server-side request forgery

Published Sep 22, 2026
·
Updated

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 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.

Affected Software

1 affected component
GitHub GitHub Enterprise Server>=3.17.0<3.17.21, >=3.18.0<3.18.15, >=3.19.0<3.19.12, >=3.20.0<3.20.8, >=3.21.0<3.21.6, >=3.22.0<3.22.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade GitHub Enterprise Server to a version that resolves this vulnerability.

    Fixed in 3.22.1

Event History

Sep 22, 2026
CVE Published
via MITRE·08:43 PM
Data Sourced
via MITRE·08:43 PM
DescriptionWeakness
Data Sourced
via NVD·09:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this vulnerability?

An attacker needs network access to the GitHub Enterprise Server instance. Exploitation is unauthenticated when private mode is disabled; when private mode is enabled, any authenticated user can exploit it.

2

What is the practical impact of a successful exploit?

The timing of requests to internal services can be used to extract instance secrets character by character, even though response bodies are not returned. An extracted secret can then be used in a separate interaction with an internal service to obtain remote code execution on the appliance.

3

Which versions are affected and which releases contain fixes?

GitHub Enterprise Server versions 3.17 through 3.22 are affected. Fixed releases are 3.22.1, 3.21.6, 3.20.8, 3.19.12, 3.18.15, and 3.17.21.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203