CVE-2026-0573 Overview
A URL redirection vulnerability (CWE-601) has been identified in GitHub Enterprise Server that allows attacker-controlled redirects to leak sensitive authorization tokens. The repository_pages API insecurely follows HTTP redirects when fetching artifact URLs, preserving the authorization header containing a privileged JWT. An authenticated user could redirect these requests to an attacker-controlled domain, exfiltrate the Actions.ManageOrgs JWT, and leverage it for potential remote code execution.
This vulnerability was reported via the GitHub Bug Bounty program and affects all versions of GitHub Enterprise Server prior to 3.19.
Critical Impact
Successful exploitation allows authenticated attackers to steal privileged JWT tokens, potentially enabling remote code execution on GitHub Enterprise Server instances.
Affected Products
- GitHub Enterprise Server versions prior to 3.19
- GitHub Enterprise Server versions prior to 3.18.4
- GitHub Enterprise Server versions prior to 3.17.10
- GitHub Enterprise Server versions prior to 3.16.13
- GitHub Enterprise Server versions prior to 3.15.17
- GitHub Enterprise Server versions prior to 3.14.22
Discovery Timeline
- 2026-02-18 - CVE-2026-0573 published to NVD
- 2026-02-19 - Last updated in NVD database
Technical Details for CVE-2026-0573
Vulnerability Analysis
The vulnerability resides in the repository_pages API endpoint within GitHub Enterprise Server. When this API fetches artifact URLs, it follows HTTP redirects without properly sanitizing the destination or stripping sensitive headers. The authorization header, which contains a privileged Actions.ManageOrgs JWT, is preserved and sent along with redirected requests to external domains.
This open redirect behavior allows an authenticated attacker who can manipulate the redirect destination to receive the JWT token on their controlled server. The Actions.ManageOrgs JWT carries elevated privileges within the GitHub Enterprise Server environment, making token exfiltration particularly dangerous as it can be leveraged for further attacks including potential remote code execution.
Root Cause
The root cause is improper URL validation in the repository_pages API's HTTP redirect handling logic. The API fails to implement safe redirect policies that would either:
- Restrict redirects to trusted domains only
- Strip sensitive authorization headers when following redirects to external domains
- Validate redirect destinations against an allowlist
This is classified as CWE-601 (URL Redirection to Untrusted Site), commonly known as an "Open Redirect" vulnerability. The combination of insecure redirect following with authorization header preservation creates a token leakage vector.
Attack Vector
Exploitation requires the attacker to have authenticated access to the target GitHub Enterprise Server instance. The attack flow involves:
- The attacker identifies or creates a scenario where the repository_pages API will fetch an artifact URL
- The attacker manipulates the artifact URL to redirect to an attacker-controlled domain via a legacy redirect mechanism
- When the API follows the redirect, it preserves the Authorization header containing the privileged JWT
- The attacker's server captures the JWT token from the incoming request
- The attacker uses the stolen Actions.ManageOrgs JWT to perform privileged operations, potentially achieving remote code execution
The vulnerability exploits a legacy redirect functionality, meaning older redirect patterns or specific URL constructs may be required to trigger the insecure behavior.
Detection Methods for CVE-2026-0573
Indicators of Compromise
- Unexpected outbound HTTP requests from the GitHub Enterprise Server to external domains containing authorization headers
- Anomalous access patterns using Actions.ManageOrgs JWT from unusual source IPs or at unusual times
- Web server logs showing redirects from internal repository_pages API calls to external domains
- Authentication logs indicating JWT token usage from geographic locations inconsistent with legitimate users
Detection Strategies
- Monitor outbound network traffic from GitHub Enterprise Server for requests to unexpected external domains, particularly those carrying authorization headers
- Implement web application firewall rules to detect and alert on open redirect patterns in API requests
- Review GitHub Enterprise Server audit logs for suspicious activity related to the repository_pages API endpoint
- Configure network intrusion detection systems to identify HTTP requests with JWT tokens directed to non-GitHub domains
Monitoring Recommendations
- Enable verbose logging for the repository_pages API and related artifact fetching operations
- Set up alerting for any outbound connections from the GitHub Enterprise Server that include JWT or Bearer tokens to external domains
- Monitor for unusual privilege escalation or organization management activities that could indicate stolen JWT token abuse
- Implement egress filtering to restrict which external domains the GitHub Enterprise Server can communicate with
How to Mitigate CVE-2026-0573
Immediate Actions Required
- Upgrade GitHub Enterprise Server to a patched version immediately: 3.19.2, 3.18.4, 3.17.10, 3.16.13, 3.15.17, or 3.14.22
- Review audit logs for any suspicious repository_pages API activity prior to patching
- Rotate any potentially compromised JWT tokens or credentials if exploitation is suspected
- Implement network egress controls to limit outbound connections from the GitHub Enterprise Server
Patch Information
GitHub has released security patches addressing this vulnerability in multiple supported versions. Organizations should upgrade to the following fixed versions based on their current deployment:
- Version 3.19.x: Upgrade to 3.19.2
- Version 3.18.x: Upgrade to 3.18.4
- Version 3.17.x: Upgrade to 3.17.10
- Version 3.16.x: Upgrade to 3.16.13
- Version 3.15.x: Upgrade to 3.15.17
- Version 3.14.x: Upgrade to 3.14.22
Workarounds
- Implement strict network egress filtering to prevent the GitHub Enterprise Server from making outbound requests to untrusted external domains
- Deploy a reverse proxy or web application firewall in front of the GitHub Enterprise Server to inspect and block suspicious redirect patterns
- Limit authenticated user access to only trusted personnel until patching can be completed
- Monitor and audit all repository_pages API usage for anomalous behavior
# Example: Implement egress filtering using iptables to restrict outbound connections
# Allow connections only to trusted GitHub/internal domains
iptables -A OUTPUT -p tcp --dport 443 -d github.com -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -d api.github.com -j ACCEPT
iptables -A OUTPUT -p tcp --dport 443 -d your-internal-domain.com -j ACCEPT
# Log and drop other outbound HTTPS connections from the server
iptables -A OUTPUT -p tcp --dport 443 -j LOG --log-prefix "GHES-Egress-Blocked: "
iptables -A OUTPUT -p tcp --dport 443 -j DROP
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


