CVE-2026-3854
largeHeader-injection RCE via git push options in GitHub Enterprise Server
CVE-2026-3854 is an improper neutralization flaw (CWE-77) in GitHub Enterprise Server in which user-supplied git push option values are placed into internal service headers without sanitization. An authenticated user with push access to any repository can trigger it with a single crafted git push, injecting additional metadata fields through the delimiter character used in the internal header format. Successful injection yields remote code execution on the GHES instance, giving the attacker control of the server and the code repositories it hosts. All self-hosted GHES deployments running affected builds in the 3.14 through 3.19 branches are affected; fixes are available in 3.14.25, 3.15.20, 3.16.16, 3.17.13, 3.18.7 and 3.19.4. No public proof-of-concept or confirmed in-the-wild exploitation is known yet, but the 40% EPSS score (99th percentile) indicates a high probability of exploitation within 30 days, and the flaw is not yet in CISA's KEV catalog.
What to do: Upgrade GitHub Enterprise Server to 3.14.25, 3.15.20, 3.16.16, 3.17.13, 3.18.7 or 3.19.4 (or later in each branch) as a priority, given the 40% EPSS likelihood of near-term exploitation. If patching must wait, review and restrict push-access grants to trusted users and consider disabling git push options (receive.advertisePushOptions=false) since they are the injection vector. Check GHES upgrade and push-related logs for anomalous activity from accounts with push access.
| GitHub Enterprise Server | All builds prior to the fixes in the 3.14, 3.15, 3.16, 3.17, 3.18 and 3.19 branches; fixed in 3.14.25, 3.15.20, 3.16.16, 3.17.13, 3.18.7 and 3.19.4 (status of b |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
An improper neutralization of special elements vulnerability was identified in GitHub Enterprise Server that allowed an attacker with push access to a repository to achieve remote code execution on the instance. During a git push operation, user-supplied push option values were not properly sanitized before being included in internal service headers. Because the internal header format used a delimiter character that could also appear in user input, an attacker could inject additional metadata fields through crafted push option values. This vulnerability was reported via the GitHub Bug Bounty program and has been fixed in GitHub Enterprise Server versions 3.14.25, 3.15.20, 3.16.16, 3.17.13, 3.18.7 and 3.19.4.
- Vendors
- github
- Products
- enterprise server
- Weakness
- CWE-77
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:L/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
In the news6 stories
GitHub Pays $100,000 Bounty for Critical RCE Flaw in Git Push Pipeline
GitHub paid Saif Ghani $100,000 for CVE-2026-3854, a critical unauthenticated RCE in its Git push pipeline allowing command execution on backend infrastructure.
GitHub awarded researcher Saif Ghani $100,000, its largest publicly disclosed bug bounty, for CVE-2026-3854, a critical unauthenticated remote code execution flaw in its Git push processing pipeline. A crafted repository URL could trigger arbitrary command execution on backend infrastructure, threatening source code integrity, repository secrets, and software supply chains. GitHub deployed mitigations and completed a patch rollout through coordinated disclosure before technical details became public.