Kiadásra kerültek a 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 és 2.30.8 verziók, amelyek javítanak két sebezhetőséget, amelyek a helyi klónozás és a „git apply” parancs optimalizálását érintik. A csomagok frissítéseit a disztribúciók Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD oldalain követheti. Ha a frissítés telepítése nem lehetséges, javasolt kerülni a „git clone” parancs végrehajtását a „—recurse-submodules” opcióval nem megbízható tárolókkal, valamint kerülni a „git apply” és a „git am” parancsok használatát nem ellenőrzött kóddal.
- A CVE-2023-22490 sebezhetőség lehetővé teszi a támadó számára, aki ellenőrzi a klónozott tároló tartalmát, hogy hozzáférjen a felhasználói rendszer bizalmas adataihoz. A sebezhetőség megjelenését két hiányosság segíti elő:
Az első hiányosság lehetővé teszi, hogy egy különlegesen kialakított tárolóval végzett munka során a helyi klónozási optimalizációk alkalmazásra kerüljenek, még akkor is, ha olyan szállítót használnak, amely külső rendszerekkel lép kapcsolatba.
A második hiányosság lehetővé teszi, hogy szimbolikus link kerülhessen a $GIT_DIR/objects mappa helyére, hasonlóan a CVE-2022-39253 sebezhetőséghez, amelynek javításában megtiltották a szimbolikus linkek elhelyezését a $GIT_DIR/objects mappában, de nem ellenőrizték, hogy maga a $GIT_DIR/objects mappa szimbolikus link lehet-e.
Helyi klónozáskor a git a $GIT_DIR/objects mappát a célkönyvtárba helyezi, és kibonatja a szimbolikus linkeket, ami azt jelenti, hogy a célkönyvtárba közvetlenül másolják a linkeken mutató fájlokat. A helyi klónozási optimalizációk nem helyi szállítón történő alkalmazásra való váltás lehetőséget ad a sebezhetőség kihasználására külső tárolókkal végzett munka során (például a „git clone —recurse-submodules” parancs rekurszív szubmodulok betöltésével kártékony tároló klónozását eredményezheti, amely egy másik tárolóban szubmodulként van csomagolva).
- A CVE-2023-23946 sérülékenység lehetővé teszi, hogy a fájlok tartalmát a munkakatalóguson kívül felülírják egy speciálisan kialakított bemenet átadásával a „git apply” parancsnak. Például támadás hajtható végre azokkal a javításokkal, amelyeket a támadók előkészítettek a „git apply” feldolgozásához. A munkakópián kívüli fájlok létrehozásának leblokkolására a „git apply” megakadályozza a javítások feldolgozását, amelyek szimbolikus hivatkozásokkal próbálnak fájlt írni. Ezt a védelmet azonban ki lehetett játszani, ha a szimbolikus hivatkozást először létrehozzák.
Forrás: opennet.ru
