Git fixes six vulnerabilities, including code execution during recursive clones
The Git project has released security updates addressing six vulnerabilities that could allow attackers to execute code, write to unintended files or cause memory corruption when Git processes malicious repositories or other specially prepared input.

Code execution during cloning
A vulnerability tracked as CVE-2026-111760 stems from an integer truncation in Git’s handling of its index. An extremely long file path can pass Git’s safety checks under one name and then be written under a shorter one.
By exploiting this discrepancy, an attacker can replace a submodule’s .git file with a symbolic link pointing to a directory containing malicious configuration or hooks. This can cause attacker-controlled code to run during a recursive clone. The fix rejects overly long index paths before their lengths can be truncated.
Five more vulnerabilities
When cloning an empty repository over v2 protocol, Git did not validate the target of the HEAD symbolic reference that a server advertised, so a malicious server could therefore use path-traversal components to make a subsequent branch update, with the files reference backend, write outside the intended reference directory. Git now validates that target, along with other reference names and symbolic-reference targets received over protocol v2, closing the hole identified as CVE-2026-113408.
Git’s code for stripping GPG signatures assumed a message held at most two signatures. A crafted message with more can overflow a fixed-size stack array, causing memory corruption or a crash, for example when someone merges a specially crafted tag. Hosting services that perform merges on behalf of users may be exposed, according to the advisory for CVE-2026-114467.
CVE-2026-114469 concerns binary patches. Git’s roughly 1 GiB limit on patch size checked only the size of the patch as supplied, so a small patch could expand past the limit when decoded and trigger an out-of-bounds read and a crash. Git now also checks the declared uncompressed size before processing.
CVE-2026-105437 affects Git’s merge machinery, where a memory-size calculation can overflow on very large results, such as many conflicts combined with a large conflict-marker-size attribute. This can cause Git to allocate a buffer that is too small and corrupts heap memory. Both local merges and services that merge untrusted content are affected.
The sixth flaw, CVE-2026-114466, affects git fast-import. Three features lacked safeguards when supplied through untrusted input streams. Two submodule-rewriting options could read arbitrary files, potentially leaking contents through error messages, while a third could create or append to files. Unless the caller explicitly allows unsafe features, they are rejected when supplied through the input stream. GitHub advises enabling that option only when the program generating the stream is trusted.
GitHub’s response
The patches ship in Git 2.56.1, with backports for the 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 and 2.50.2 series. Maintainers recommend that users update to 2.56.1 or the patched release for their series, and that they also update any software that bundles its own copy of Git.
GitHub said it has deployed fixes across github.com, GitHub Enterprise Cloud, and GitHub Enterprise Cloud with data residency.
GitHub Enterprise Server administrators are advised to upgrade promptly to version 3.19.15, 3.20.11, 3.21.9 or 3.22.4. Patched Git builds are being coordinated for GitHub Desktop and the GitHub Copilot app, and GitHub Codespaces and GitHub Actions will also receive them.
What should users do
Users should install a patched Git from their operating system or Git distributor, and administrators should also update Git on automation and services that process repositories on behalf of others.
“If you cannot update immediately, clone only from trusted servers and avoid recursive clones of untrusted repositories. Avoid merging untrusted content or tags, or processing binary patches or fast-import streams from untrusted sources. These precautions do not replace installing the fixes,” Elijah Newren, Staff Software Engineer at GitHub, said.