Zraniteľnosť v Git vedúca k úniku a prepisovaniu údajov

Boli zverejnené opravné vydania distribuovaného zdrojového riadiaceho systému Git 2.38.4, 2.37.6, 2.36.5, 2.35.7, 2.34.7, 2.33.7, 2.32.6, 2.31.7 a 2.30.8, ktoré opravujú dve zraniteľnosti ovplyvňujúce optimalizáciu pre lokálne klonovanie a príkaz „git apply“. Vydanie aktualizácií balíkov v distribúciách môžete sledovať na stránkach Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Ak nie je možné aktualizáciu nainštalovať, odporúča sa ako riešenie vyhnúť sa vykonávaniu operácie „git clone“ s voľbou „--recurse-submodules“ na nedôveryhodných úložiskách a vyhnúť sa používaniu „git apply“ a „ git am" príkazy na nedôveryhodné úložiská. kód.

  • Zraniteľnosť CVE-2023-22490 umožňuje útočníkovi, ktorý kontroluje obsah klonovaného úložiska, získať prístup k citlivým údajom v systéme používateľa. K vzniku zraniteľnosti prispievajú dva nedostatky:

    Prvý nedostatok umožňuje pri práci so špeciálne navrhnutým úložiskom dosiahnuť využitie lokálnych optimalizácií klonovania aj pri použití transportu, ktorý interaguje s externými systémami.

    Druhá chyba umožňuje umiestnenie symbolického odkazu namiesto adresára $GIT_DIR/objects, podobne ako chyba zabezpečenia CVE-2022-39253, ktorej oprava zablokovala umiestnenie symbolických odkazov v adresári $GIT_DIR/objects, ale nezablokovala skontrolujte, že samotný adresár $GIT_DIR/objects môže byť symbolickým odkazom.

    V režime lokálneho klonovania git prenáša $GIT_DIR/objects do cieľového adresára dereferencovaním symbolických odkazov, čo spôsobí, že priamo odkazované súbory sa skopírujú do cieľového adresára. Prepnutie na používanie lokálnych optimalizácií klonovania pre nelokálny prenos umožňuje využitie zraniteľností pri práci s externými úložiskami (napríklad rekurzívne zahrnutie podmodulov pomocou príkazu „git clone —recurse-submodules“ môže viesť ku klonovaniu škodlivého úložiska zbaleného ako podmodul v inom úložisku).

  • Chyba zabezpečenia CVE-2023-23946 umožňuje prepísanie obsahu súborov mimo pracovného adresára odoslaním špeciálne vytvoreného vstupu do príkazu „git apply“. Napríklad útok môže byť vykonaný počas spracovania záplat pripravených útočníkom v „git apply“. Ak chcete zablokovať vytváranie záplat pri vytváraní súborov mimo pracovnej kópie, "git apply" blokuje spracovanie záplat, ktoré sa pokúšajú zapísať súbor pomocou symbolických odkazov. Ukazuje sa však, že táto ochrana sa dá obísť vytvorením symbolického prepojenia.

Zdroj: opennet.ru

Pridať komentár