Git 2.56.1 brání spuštění cizího kódu při klonování s podmoduly
Git vydal 10. listopadu šest bezpečnostních oprav včetně chyby při klonování s podmoduly. Připravené jsou i záplaty pro starší udržované řady; samotná aktualizace systémové kopie ale nevyřeší Git přibalený k jiným programům.
Ke spuštění cizího kódu může stačit stažení projektu včetně jeho podmodulů. Právě takový scénář opravuje CVE-2026-111760 v Gitu, nástroji pro správu verzí souborů. Podmodul je samostatný repozitář připojený do jiného projektu. Při rekurzivním klonování se stáhne hlavní projekt i tyto závislosti.

Kontrola ověřila jinou cestu, než jakou Git zapsal
Git si před zápisem souborů hlídá, aby nepoškodil vlastní metadata. U mimořádně dlouhé cesty ale docházelo ke zkrácení číselné hodnoty, ve které si ukládá její délku. Bezpečnostní kontrola tak posoudila celý název, zatímco následný zápis použil jen jeho krátký začátek. Obě operace pracovaly s jinou cestou.
Útočník tím mohl nahradit soubor .git uvnitř podmodulu symbolickým odkazem. Ten odkáže na jinou složku s podvrženým nastavením nebo hooky, tedy skripty spouštěnými při určitých operacích Gitu. Jakmile ji Git použije, může vykonat útočníkův kód. Oprava odmítá příliš dlouhé názvy dřív, než se jejich délka zkrátí.
Podle oznámení Johannese Schindelina je známý způsob vyvolání chyby vázaný na volbu --recurse-submodules. Speciálně vytvořený repozitář navíc neprojde některými kontrolami velkých hostingových služeb. Hlavní projekt na běžném hostingu však může obsahovat odkaz na podmodul uložený jinde. Samotná adresa hlavního projektu proto neříká, odkud se stáhnou všechny jeho části.
Dalších pět oprav se týká i slučování a importu
Bezpečnostní přehled Gitu z 10. listopadu popisuje celkem šest zranitelností. Vedle klonování zasahují i operace, které za uživatele provádí automatizace nebo server s repozitáři.
| Zranitelnost | Kde vzniká problém | Možný dopad |
|---|---|---|
| CVE-2026-113408 | Server nabídne při klonování přes protokol v2 vadný odkaz HEAD na větev bez commitů. | Pozdější aktualizace odkazu může při souborovém ukládání referencí zapsat mimo určenou složku. |
| CVE-2026-114467 | Odstraňování více než dvou podpisů GPG při sloučení značky. | Poškození paměti zásobníku a možné vyřazení služby. |
| CVE-2026-114469 | Binární záplata po rozbalení překročí velikost, kterou kontroloval vstup. | Čtení mimo vyhrazenou paměť a pád Gitu. |
| CVE-2026-105437 | Výpočet velikosti výsledku velmi rozsáhlého třícestného sloučení. | Přetečení výpočtu a zápis mimo přidělenou paměť. |
| CVE-2026-114466 | Některé funkce vstupního proudu pro fast-import. | Čtení souborů mimo repozitář nebo zápis do nich. |
U importu se mění i výchozí chování. Dotčené funkce nyní vyžadují výslovné povolení volbou --allow-unsafe-features. Správce ji má zapnout jen tehdy, když důvěřuje programu, který importní data vytváří.
Opravené vydání musí dorazit i do distribuce
Junio C Hamano oznámil vydání 10. listopadu. Opravy původního Gitu nesou verze 2.50.2, 2.51.3, 2.52.1, 2.53.1, 2.54.1, 2.55.1 a 2.56.1. Dostupný je také Git for Windows 2.56.1, jehož poznámky výslovně uvádějí všech šest chyb.
U linuxového balíčku rozhoduje stav opravy v konkrétní distribuci. Ta může přenést bezpečnostní změnu do starší verze. Při kontrole 13. listopadu ale bezpečnostní přehled Debianu stále označoval balíčky Gitu v Bookwormu, Trixie, Forky i Sidu za zranitelné a opravenou verzi dosud neuváděl. Vydání záplaty původním projektem tedy ještě neznamená, že ji dostal každý uživatel přes správce balíčků.
Nainstalovanou verzi ukáže git --version. Je třeba zkontrolovat také vývojová prostředí a další aplikace, které si nesou vlastní kopii Gitu, a stroje pro automatické sestavování. GitHub doporučuje aktualizovat i tyto kopie. Dokud oprava není dostupná, radí vynechat rekurzivní klonování nedůvěryhodných projektů a nezpracovávat cizí značky, binární záplaty či importní proudy.
V dostupné verzi katalogu zneužívaných chyb CISA s datem 10. listopadu není žádná z této šestice. Samotná nepřítomnost v katalogu ovšem nepotvrzuje, že se chyby nikdo nepokusil zneužít.
Zdroje
- GitHub: přehled šesti zranitelností a doporučené kroky, 10. listopadu 2026.
- Johannes Schindelin v oss-security: podmínky zneužití a rozsah oprav, 11. listopadu 2026.
- Junio C Hamano: oznámení Git 2.56.1 a starších opravených řad, 10. listopadu 2026.
- Git: bezpečnostní upozornění k CVE-2026-111760.
- Git for Windows: poznámky k vydání 2.56.1.
- Debian Security Tracker: stav distribučních balíčků, ověřeno 13. listopadu 2026.
- CISA: katalog skutečně zneužívaných zranitelností, verze z 10. listopadu 2026.