freenode
Languages & Toolchains

Git for Windows 2.56.1 closes clone-time code execution flaw

Johannes Schindelin's release fixes six security bugs, including remote code execution on recursive clones and path traversal through an unborn HEAD.

Git for Windows 2.56.1, announced by Johannes Schindelin, patches six security flaws, the most serious of which lets a malicious repository run attacker-chosen code when someone clones it recursively.

CVE-2026-111760 is a remote code execution bug in recursive clones. An attacker-controlled repository can trick Git into replacing a submodule gitfile with a symbolic link that points at a directory holding malicious configuration or hooks, so the clone runs the attacker's code.

CVE-2026-113408 is a path traversal in reference handling. A server can advertise an unborn HEAD whose name contains traversal sequences such as refs/heads/../../../TARGET. With the files ref backend, later ref updates can then write files the user did not intend to touch.

Three further flaws are denial-of-service or memory-safety bugs rather than straightforward code execution. CVE-2026-114467: when Git strips GPG signatures from a commit message it only accounts for two signatures, so a message with more than two corrupts stack memory. That can be triggered by merging a tag with extra signatures, including on forges that start a merge after such a tag is pushed. CVE-2026-114469: Git refuses patches larger than about 1 GiB, but the check looks at the encoded input size, so a compressed binary patch can inflate past that limit and crash Git with an out-of-bounds read. CVE-2026-105437: while merging, Git can overflow the calculation of the buffer that holds the merge result on very large merges.

The release also lists CVE-2026-114466 among the six issues it addresses. Schindelin's announcement does not describe that flaw.