Ursache von CVE-2026-111760 ist eine Integer-Kürzung bei der Verarbeitung des Git-Index. Ein extrem langer Pfad in einem Repository besteht die Sicherheitsprüfung von Git, wird anschließend aber unter einem verkürzten Namen auf die Festplatte geschrieben, den ein Angreifer auf .git festlegen kann. So lässt sich die .git-Datei eines Submoduls durch einen symbolischen Link auf ein Verzeichnis mit schädlichen Hooks oder schädlicher Konfiguration ersetzen. Hooks sind Programme, die Git an festgelegten Stellen ausführt. Sobald Git dieses Verzeichnis verwendet, kann also der Code des Angreifers laufen.

Submodule spielen dabei eine Schlüsselrolle: Ein .git-Verzeichnis ersetzt Git grundsätzlich nicht durch einen symbolischen Link, in einem frisch geklonten Submodul ist .git jedoch eine Datei. Die korrigierten Versionen, die das Git-Projekt in seiner Release-Ankündigung aufführt, weisen solche extrem langen Pfade zurück, bevor ihre Länge gekürzt werden kann.

GitHub, das Git in eigenen Werkzeugen mitliefert, hat die Korrekturen ausführlich erläutert. Das Unternehmen rät, eine korrigierte Version vom Betriebssystem- oder Git-Anbieter zu installieren und jede Anwendung zu aktualisieren, die eine eigene Git-Kopie mitbringt. Auf github.com und in GitHub Enterprise Cloud sind die Korrekturen bereits eingespielt. Für GitHub Enterprise Server sind sie in den Versionen 3.19.15, 3.20.11, 3.21.9 und 3.22.4 enthalten. Korrigierte Fassungen von GitHub Desktop und der GitHub-Copilot-App sind in Vorbereitung, auch GitHub Codespaces und GitHub Actions erhalten das korrigierte Git. Für Git for Windows war am Dienstag um 19:09 UTC laut den Release-Tags des Projekts noch keine Version auf Basis von Git 2.56.1 erschienen.

Bis zur Installation eines Updates empfiehlt GitHub folgende Maßnahmen, die die Korrekturen allerdings nicht ersetzen:

  • nur von vertrauenswürdigen Servern klonen,
  • nicht vertrauenswürdige Repositorys nicht rekursiv klonen,
  • keine nicht vertrauenswürdigen Inhalte oder Tags mergen,
  • keine Binär-Patches oder fast-import-Streams aus nicht vertrauenswürdigen Quellen verarbeiten.

Die weiteren behobenen Lücken:

  • CVE-2026-113408: Beim Klonen eines leeren Repositorys über Git-Protokoll v2 kann ein bösartiger Server einen Branch-Namen mit Path Traversal senden. Mit dem Referenz-Backend „files“ kann eine spätere Aktualisierung dieses Branches dann außerhalb des Referenzverzeichnisses von Git schreiben.
  • CVE-2026-114467: Das Mergen eines Tags mit mehr als zwei GPG-Signaturen beschädigt den Stack-Speicher und kann einen Denial of Service auslösen. Betroffen sein können auch Hosting-Dienste, die solche Merges für Nutzer ausführen.
  • CVE-2026-114469: Ein Binär-Patch, der sich auf eine sehr große Datenmenge entpackt, kann die Patch-Größengrenze von etwa 1 GiB umgehen und Git durch einen Lesezugriff außerhalb der Speichergrenzen zum Absturz bringen.
  • CVE-2026-105437: Ein sehr großer Merge mit vielen Konflikten und einem hohen Wert für das Attribut conflict-marker-size kann Git über das Ende eines zu kleinen Puffers hinausschreiben lassen und den Heap-Speicher beschädigen.
  • CVE-2026-114466: Die drei fast-import-Funktionen rewrite-submodules-from, rewrite-submodules-to und export-pack-edges ließen sich missbrauchen, um beliebige Dateien zu lesen oder Dateien anzulegen und mit Daten zu füllen. Git weist sie in einem Eingabestrom nun zurück, sofern nicht –allow-unsafe-features gesetzt ist.

GitLab, das CVE-2026-105437 vergeben hat, hält Code-Hosting-Server für die wahrscheinlichsten Ziele, und zwar über git merge-tree. Server rufen diesen Befehl etwa auf, um zu prüfen, ob sich ein Pull- oder Merge-Request zusammenführen lässt. Da conflict-marker-size in einer ins Repository eingecheckten .gitattributes-Datei gesetzt werden kann, kann jeder Nutzer, der Branches pushen und einen Pull- oder Merge-Request öffnen darf, die Lücke auslösen, wenn der Server Attribute aus dem Repository liest. Server, die noch nicht aktualisieren können, sollen als Übergangslösung conflict-marker-size=7 in die Datei info/attributes jedes Repositorys eintragen oder diese Merge-Prüfungen für nicht vertrauenswürdige Repositorys abschalten.