Opublikowane zostały poprawki dla rozproszonego systemu wersjonowania kodu Git w wersjach 2.56.1, 2.55.1, 2.54.1, 2.53.1, 2.52.1, 2.51.3 oraz 2.50.2, w których usunięto 6 luk w zabezpieczeniach. Najniebezpieczniejsza luka (CVE-2026-111760) umożliwia wykonanie kodu podczas używania polecenia „git clone” w trybie „—recurse-submodules” z repozytoriami kontrolowanymi przez atakującego.
Problem wynika z tego, że długość wpisu z nazwą w indeksie obliczana jest z użyciem 32-bitowego typu całkowitego. Przy przekazywaniu bardzo długiej nazwy w formacie „.git/....” dochodzi do przepełnienia całkowitego, co pozwala atakującemu obliczyć długość równą 4 bajtom. W rezultacie, przy sprawdzaniu wartości używane są faktyczne dane, natomiast podczas operacji wersja „.git” jest przycinana, co umożliwia atakującemu zamianę pliku „.git” w submodule na symboliczne odnośnik wskazujący na katalog z ustawieniami i hookami.
Inne podatności:
- CVE-2026-113408 — wyjście poza katalog refs/ poprzez przekazanie jako gałęzi HEAD symbolicznego odnośnika z wartością „refs/heads/../../..../TARGET” podczas klonowania pustego repozytorium przez protokół Git v2. Przy późniejszym wykonaniu „git commit” utworzony zostanie plik TARGET w głównym katalogu repozytorium, co można wykorzystać do nadpisania plików w repozytorium oraz organizacji wykonania kodu.
- CVE-2026-114467 — przepełnienie stosu podczas usuwania podpisów GPG, które potencjalnie może prowadzić do wykonania dowolnego kodu. Problem wynika z tego, że funkcja remove_signature() przechowuje pozycje podpisów w stałej tablicy, obliczonej maksymalnie na dwa podpisy. Przy przekazywaniu tagu z trzema i więcej podpisami, dane są zapisywane poza tablicą.
- CVE-2026-114469 — podczas sprawdzania ograniczeń dotyczących rozmiaru binarnych poprawek brane były pod uwagę dane przed rozpakowaniem skompresowanych danych, co prowadziło do odczytu zawartości z obszaru poza granicami bufora.
- CVE-2026-105437 — uszkodzenie pamięci podczas wykonywania dużych operacji scalania z powodu akumulacji rozmiaru wyniku w polu typu int. W konfiguracji GitLab luka może być wykorzystywana do wykonania kodu (problem zablokowany w GitLab 19.5.4).
- CVE-2026-114466 — nadpisywanie dowolnych plików w systemie plików za pomocą polecenia „git fast-import” z powodu niepełnego usunięcia luki CVE-2019-1348.
Źródło: opennet.ru
