Git Fixes Six Flaws, Including Code Execution via Submodules on Recursive Clones
The Git project and GitHub disclosed six vulnerabilities on 10 November 2026, the most severe letting a malicious repository run code during a recursive clone with submodules.
On 10 November 2026, the Git project and GitHub disclosed six security vulnerabilities in Git, the version-control system used across most professional software development, and shipped fixes in Git 2.56.1, with backports to 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 and 2.50.2, according to GitHub's advisory. The most severe of the six, tracked as CVE-2026-111760, lets a malicious repository execute arbitrary code on a developer's machine during a recursive clone of its submodules.
How the Recursive-Clone Flaw Works
Git stores file paths inside its index, the internal record of a repository's tracked files. GitHub's advisory explains that an integer truncation bug in that index handling lets an extremely long path pass Git's validation checks under one name and then be written to disk under a shorter, truncated name. An attacker can exploit the mismatch to make Git write a submodule's .git file as a symbolic link pointing at a directory that holds a malicious configuration file or hook script. When a victim runs a recursive clone that pulls in that submodule, Git follows the link and can execute the attacker's code on the victim's machine.

Pending an update, The Hacker News reports that GitHub's interim advice reads: "Clone only from servers you trust. Do not recursively clone repositories you do not trust. Do not merge content or tags you do not trust. Do not process binary patches or fast-import streams from sources you do not trust." The same report notes that, as of 19:09 UTC on 11 November 2026, Git for Windows had not yet shipped a release based on Git 2.56.1.
The Other Five Fixes
GitHub's advisory describes five further vulnerabilities patched in the same release:
- CVE-2026-113408 — When cloning an empty repository over Git protocol version 2, a malicious server can advertise a HEAD symbolic reference with an unvalidated target containing path-traversal components, letting it write files outside the intended reference directory.
- CVE-2026-114467 — Git assumed a commit or tag message would carry at most two GPG signatures when stripping them; a message crafted with more signatures writes past the boundary of a fixed-size stack array, which GitHub's advisory says can cause a denial of service.
- CVE-2026-114469 — A compressed binary patch can decompress to more data than Git's stated 1 GiB limit, bypassing a size check and triggering out-of-bounds reads.
- CVE-2026-105437 — Combining a very large merge result with a large configured conflict-marker size overflows a memory-size calculation, corrupting the heap.
- CVE-2026-114466 — Three
fast-importfeatures —rewrite-submodules-from,rewrite-submodules-toandexport-pack-edges— did not adequately guard against untrusted input streams, which GitHub's advisory says can enable arbitrary file access or modification.
GitHub's advisory states that GitHub Enterprise Server has also been updated, in versions 3.19.15, 3.20.11, 3.21.9 and 3.22.4, according to The Hacker News.
Why This Matters for Students, Researchers and Developers
Recursive cloning — git clone --recursive, or a plain git clone with submodule.recurse enabled — is a routine step whenever a project depends on code pulled in as a Git submodule, a pattern common in research repositories that bundle datasets, libraries or course materials hosted in separate repositories. A student or researcher who recursively clones an unfamiliar repository to reproduce a published result or run a class assignment is exactly the scenario this flaw targets: the exploit requires no interaction beyond the clone itself.

Software engineering teams that automate dependency fetching in continuous-integration pipelines face the same exposure, since CI runners often clone third-party repositories, including transitive submodules, without a human reviewing each one first. Because the flaw lives in Git itself rather than in any single hosting platform, it affects self-hosted Git servers, GitLab and Bitbucket-hosted repositories, and local clones alike, not only GitHub.
What to Do
GitHub's advisory recommends installing a patched Git release — 2.56.1, or the matching backport for an older maintenance branch — from an operating system's package manager or Git's own distribution channel, and updating any application that bundles its own copy of Git rather than relying on the system binary. Until an update is applied, GitHub's guidance, as reported by The Hacker News, is to avoid recursively cloning repositories, merging untrusted content or tags, and processing binary patches or fast-import streams from sources that are not fully trusted.
A quick question for readers
Which skill will matter most for getting a job in 2030?
Everyone has a prediction. Add yours and see what students are betting on.
Pick an answer, create a free account in a minute, and your vote counts. Already a member? Sign in
Comments 3
Comment-
The part worth sitting with is the asymmetry: the fix requires zero interaction beyond the clone itself, and 'recursive clone with submodule…
-
The root cause here is the kind of bug I actually enjoy tracing: a path validated at full length but written to disk truncated, so Git's own…
-
The bit I'd actually want to poke at myself is the integer truncation on path length: a long path passes validation but gets written under a…
Join free to read the full comments and reply Comments are between members; an account takes a minute.
Source: GitHub Blog
Sources (2)
- GitHub. Git security vulnerabilities announced. GitHub Blog, 2026. github.blog ↗ · checked 11 Nov 2026
- The Hacker News. Git Patches Flaw That Lets Malicious Repositories Execute Code During Recursive Clones. The Hacker News, 2026. thehackernews.com ↗ · checked 11 Nov 2026