EXPOSURES › CVE-2026-17556
CVE-2026-17556
CRITICALUnauthenticated attackers could delete arbitrary files on GitHub Enterprise Server via path traversal in the X-GitHub-Request-Id header.
CVE-2026-17556 allowed unauthenticated attackers to delete critical data like Git LFS objects and release assets by exploiting unsanitized request headers. DIB organizations using GitHub Enterprise Server must patch to versions 3.21.4 or later immediately, as this flaw bypassed private mode and required no authentication. The failure highlights the risk of treating untrusted headers as filesystem paths without strict sanitization.
Shame score — A critical path traversal flaw allowed unauthenticated deletion of arbitrary files, including sensitive data, without requiring authentication or bypassing private mode, indicating a severe design oversight.
▸ RECOMMENDED ACTION Critical severity — schedule patching of the affected products.
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.
| PRODUCT | STATUS |
|---|---|
| GitHub Enterprise Cloud GitHub |
Authorized |