CVE-2026-17556
Description
A path traversal vulnerability was identified in GitHub Enterprise Server that allowed an unauthenticated attacker to delete arbitrary files and directories on the instance, including the entire user storage directory containing Git LFS objects, release assets, attachments, and avatars. The X-GitHub-Request-Id request header was used without sanitization as a filesystem path segment for the upload buffer directory, so a traversal value pointed the buffer at an arbitrary path and the deferred cleanup routine recursively removed the traversed target. Exploitation required only network reachability to the instance and no authentication, and it worked even when private mode was enabled. This vulnerability affected all versions of GitHub Enterprise Server prior to 3.22 and was fixed in versions 3.21.4, 3.20.6, 3.19.10, 3.18.13 and 3.17.19. This vulnerability was reported via the GitHub Bug Bounty program.
How to fix
- github enterprise_server3.17.19, 3.18.13, 3.19.10, 3.20.6, 3.21.4 or later
- docs.github.com/en/[email protected]/admin/release-notes#3.17.19
- docs.github.com/en/[email protected]/admin/release-notes#3.18.13
- docs.github.com/en/[email protected]/admin/release-notes#3.19.10
- docs.github.com/en/[email protected]/admin/release-notes#3.20.6
- docs.github.com/en/[email protected]/admin/release-notes#3.21.4
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| github enterprise_server | v < 3.17.19, 3.18.0 ≤ v < 3.18.13, 3.19.0 ≤ v < 3.19.10, 3.20.0 ≤ v < 3.20.6, 3.21.0 ≤ v < 3.21.4 | 3.17.19, 3.18.13, 3.19.10, 3.20.6, 3.21.4 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.