Vzdialene zneužitá zraniteľnosť root v nástroji ping FreeBSD

Vo FreeBSD bola identifikovaná zraniteľnosť (CVE-2022-23093) v utilite ping, ktorá je súčasťou základnej distribúcie. Problém by mohol potenciálne viesť k vzdialenému spusteniu kódu s oprávneniami root pri odoslaní príkazu ping na externého hostiteľa ovládaného útočníkom. Oprava bola poskytnutá v aktualizáciách FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 a 12.3-RELEASE-p10. Zatiaľ nie je jasné, či sú identifikovanou zraniteľnosťou ovplyvnené aj iné BSD systémy (zatiaľ nie sú správy o zraniteľnostiach v NetBSD, DragonFlyBSD a OpenBSD).

Zraniteľnosť je spôsobená pretečením vyrovnávacej pamäte v kóde analýzy pre správy ICMP prijaté ako odpoveď na žiadosť o overenie. Kód na odosielanie a prijímanie správ ICMP v príkaze ping používa surové sokety a vykonáva sa so zvýšenými privilégiami (nástroj je dodávaný s príznakom setuid root). Odpoveď je spracovaná na strane ping prostredníctvom rekonštrukcie hlavičiek IP a ICMP paketov prijatých zo surového soketu. Vybrané hlavičky IP a ICMP sa skopírujú do vyrovnávacích pamätí pomocou pr_pack(), pričom sa neberie do úvahy, že po hlavičke IP môžu byť v pakete prítomné ďalšie rozšírené hlavičky.

Takéto hlavičky sú extrahované z paketu a zahrnuté do bloku hlavičiek, ale nie sú brané do úvahy pri výpočte veľkosti vyrovnávacej pamäte. Ak hostiteľ ako odpoveď na odoslanú požiadavku ICMP vráti paket s ďalšími hlavičkami, ich obsah sa zapíše do oblasti za hranicou vyrovnávacej pamäte v zásobníku. Výsledkom je, že útočník môže prepísať až 40 bajtov údajov v zásobníku, čo potenciálne umožní spustenie jeho kódu. Závažnosť problému je zmiernená skutočnosťou, že v čase výskytu chyby je proces v stave izolácie systémových volaní (režim schopností), čo sťažuje získanie prístupu k zvyšku systému po zneužití zraniteľnosti. .

Zdroj: opennet.ru

Pridať komentár