CVE-2026-4296
An incorrect regular expression vulnerability was identified in GitHub Enterprise Server that allowed an attacker to bypass OAuth redirect URI validation. An attacker with knowledge of a first-party OAuth application's registered callback URL could craft a malicious authorization link that, when clicked by a victim, would redirect the OAuth authorization code to an attacker-controlled domain. This could allow the attacker to gain unauthorized access to the victim's account with the scopes granted to the OAuth application. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.21 and was fixed in versions 3.20.1, 3.19.5, 3.18.8, 3.17.14, 3.16.17, 3.15.21, 3.14.26. This vulnerability was reported via the GitHub Bug Bounty program.
Scoring
- Severity
- HIGH
- CVSS base score
- 7.5
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
- EPSS probability
- 0.43%
- CWE
- CWE-185
- Published
- 2026-04-21
- Last modified
- 2026-04-22
Affected products
- GitHub Enterprise Server
- GitHub Enterprise Server
- GitHub Enterprise Server
- GitHub Enterprise Server
- GitHub Enterprise Server
- GitHub Enterprise Server
- GitHub Enterprise Server
Weakness type
Related vulnerabilities
- CVE-2026-73425 — @astrojs/netlify generates an overly-broad Netlify Image CDN allowlist because remotePatterns.pathname metacharacters are not escaped
- CVE-2026-64655 — GitHub CLI: Attestation Verification Bypass via Unescaped Regex Metacharacters in SAN Matching
- CVE-2026-45065 — Symfony: UrlGenerator Route-Requirement Bypass via Unanchored Regex Alternation → Off-Site //host URL Injection
- CVE-2026-56021 — Webmin information disclosure via regex pattern
- CVE-2026-47674 — Hono: IP Restriction bypasses static deny rules for non-canonical IPv6
- CVE-2026-48147 — Budibase: Unanchored Regex in `matchers.ts` Allows CSRF Bypass via Query String Injection in Budibase Worker
- CVE-2026-25542 — Tekton Pipelines: VerificationPolicy regex pattern bypass via substring matching
- CVE-2026-39350 — Istio AuthorizationPolicy Incorrect Regex Matching of Dots in serviceAccounts Fields Allows Policy Bypass