jsonscraper
Trhy
Zpět do magazínu

Šest zranitelností Gitu: aktualizujte nejen příkazovou řádku

Opravy v Gitu 2.56.1 a předchozích řadách řeší problémy při klonování, slučování a zpracování dat. Zkontrolujte také aplikace a automatizaci, které Git dodávají samostatně.

Redakční zásady Nahlásit chybu

Pokud jste aktualizovali Git v terminálu, práce ještě nekončí: jednotlivé aplikace a buildovací prostředí mohou spouštět vlastní kopii. Projekt Git vydal 10. listopadu 2026 opravy šesti zranitelností — od spuštění kódu při rekurzivním klonování až po poškození paměti při slučování. Zkontrolovat je proto potřeba každé prostředí, které zpracovává repozitáře nebo jejich obsah, nejen výsledek příkazu git --version ve vašem shellu.

Článek: Šest zranitelností Gitu: aktualizujte nejen příkazovou řádku
Shrnutí: Projekt Git vydal 10. listopadu 2026 opravy šesti zranitelností. Riziko se netýká jen systémového příkazu git: samostatné kopie mohou běžet v IDE, desktopových klientech, CI i službách, které zpracovávají cizí repozitáře.
Role obrázku: titulní snímek — ústřední myšlenka
Sekce: 
Vizuální námět: Redakční makrofotografie vytištěného diagramu stromu repozitáře Git se složkou submodulu, značkou symbolického odkazu a
Zranitelnosti se týkaly různých operací Gitu — od klonování a odkazů až po slučování a import.© jsonscraper · vytvořeno pomocí AI

Co se v aktualizaci změnilo

Opravy jsou součástí Gitu 2.56.1 a byly přeneseny i do podporovaných řad: 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 a 2.50.2. Aktualizace řeší šest problémů v různých částech Gitu — při práci s cestami, odkazy, podpisy, binárními patchi, slučováním a importními proudy. GitHub 10. listopadu zveřejnil popis zranitelností a doporučení k aktualizaci; poznámky k vydání Gitu 2.56.1 uvádějí CVE opravené v této sérii.

V praxi je třeba aktualizovat Git používaný na třech místech: na pracovních počítačích, v automatizaci a uvnitř aplikací, které obsahují vlastní sestavení Gitu. Právě na poslední bod se snadno zapomene: aktualizace systémového balíčku automaticky nezmění verzi v každém klientovi nebo buildovacím obrazu.

Proč stojí rekurzivní clone za pozornost

Nejzřetelnější scénář začíná rekurzivním klonováním nedůvěryhodného repozitáře. Kvůli zkrácení délky cesty mohl velmi dlouhý název projít kontrolou pod jedním jménem a následně se na disk zapsat v kratší podobě. V popsaném scénáři Gitu to umožňovalo nahradit soubor .git submodulu symbolickým odkazem na adresář se škodlivou konfigurací nebo hooky. Při pozdější práci s repozitářem pak Git mohl spustit kód připravený útočníkem.

Pro praxi je důležité, že jde o speciálně připravený repozitář a odpovídající operaci. Týmy, které pravidelně klonují projekty z externích zdrojů s parametrem --recurse-submodules, by měly přednostně aktualizovat klienty i automatizovaná prostředí. Oprava odmítne příliš dlouhé cesty ještě před zkrácením jejich délky.

Další místa, kde Git zpracovává nedůvěryhodná data

Další problém nastává při klonování prázdného repozitáře přes Git protocol v2. Server mohl poslat odkaz HEAD s názvem větve obsahujícím komponenty pro procházení adresářů; pozdější operace aktualizace větve pak mohla zapsat soubor mimo očekávaný adresář odkazů. Opravené verze Gitu ověřují tento cíl i další názvy odkazů získané prostřednictvím protokolu.

Samostatné zranitelnosti se týkaly operací slučování a patchů. Při zpracování podpisů počítalo pevné pole maximálně se dvěma podpisy; speciálně sestavená zpráva s větším počtem podpisů mohla způsobit zápis mimo hranice pole a poškození paměti. Při aplikaci binárního patche kontrola velikosti zohledňovala původní podobu dat, přestože se komprimovaná data mohou po rozbalení výrazně zvětšit. Git nyní před zpracováním kontroluje deklarovanou nekomprimovanou velikost.

Rozsáhlá slučování mohla také způsobit přetečení při výpočtu potřebné velikosti bufferu a následný zápis mimo jeho hranice. To se týká mimo jiné hostingových služeb a aplikací, které slučují nedůvěryhodný obsah. A konečně, tři funkce git fast-import dostaly omezení pro příkazy ze vstupního proudu: rewrite-submodules-from a rewrite-submodules-to mohly číst libovolné soubory, zatímco export-pack-edges mohl vytvářet soubory nebo připojovat data k existujícím. Tyto funkce se nyní blokují, pokud není výslovně uveden příznak --allow-unsafe-features; používat by se měl pouze u důvěryhodného generátoru proudu.

Kde hledat samostatné kopie Gitu

Vývojář může začít inventarizací míst, odkud se Git spouští. Zkontrolujte verzi v terminálu a využijte vestavěnou kontrolu aktualizací v IDE a desktopových klientech Gitu. Poté prověřte obrazy CI, kontejnery, runnery a serverové úlohy, které provádějí clone nebo merge, aplikují binární patche či spouštějí fast-import. To, že je na hostiteli nainstalovaný aktuální Git, nezaručuje, že aplikace používá právě jeho.

Článek: Šest zranitelností Gitu: aktualizujte nejen příkazovou řádku
Shrnutí: Projekt Git vydal 10. listopadu 2026 opravy šesti zranitelností. Riziko se netýká jen systémového příkazu git: samostatné kopie mohou běžet v IDE, desktopových klientech, CI i službách, které zpracovávají cizí repozitáře.
Role obrázku: doplňující ilustrace 2 — jiný konkrétní aspekt
Sekce: Kde hledat samostatné kopie Gitu
Vizuální námět: Přehledná technická infografika v ruštině znázorňující aktualizace softwaru
Systémový Git, vestavěné kopie v aplikacích a verze v CI je třeba kontrolovat samostatně.© jsonscraper · ilustrace vytvořená pomocí AI

V organizacích je vhodné zkontrolovat nejen zdrojové obrazy, ale také již nasazená pracovní prostředí: trvalý runner nebo interní služba mohla po aktualizaci základního obrazu stále používat starý binární soubor. Pro GitHub Enterprise Server uvádí GitHub opravené verze 3.19.15, 3.20.11, 3.21.9 a 3.22.4. Společnost oznámila, že opravy již nasadila na github.com a GitHub Enterprise Cloud, včetně variant s umístěním dat. Vydání GitHub Desktop a aplikace GitHub Copilot s opraveným Gitem se koordinují; opravené verze pro Codespaces a GitHub Actions mají být rovněž teprve k dispozici.

Jak snížit riziko před aktualizací

Pokud opravu nelze nainstalovat okamžitě, dočasně omezte operace s nedůvěryhodnými daty: klonujte repozitáře pouze z důvěryhodných serverů, vyhýbejte se rekurzivnímu klonování neprověřených projektů, neslučujte jejich obsah a neaplikujte binární patche ani proudy fast-import, které z nich pocházejí. Tato opatření omezují vystavení konkrétním zranitelným scénářům, aktualizaci však nenahrazují.

Hlavní praktický závěr je jednoduchý: opravu Gitu je třeba hledat tam, kde program Git skutečně spouští. Příkaz v terminálu je jen jedním z těchto míst; vývojářské klienty, CI a služby zpracovávající repozitáře je nutné prověřit zvlášť.

Lidé

Pro tento článek zatím nejsou uvedeni žádní lidé.

Pokračujte ve čteníLockfile GitHub Actions připíná spouštěný kód, ne celé CI
Přečtěte si další článek

Proměňte přečtené ve funkční integraci

Prozkoumejte API sociálních dat jsonscraper, testujte požadavky a sestavte další workflow.

Prozkoumat API