Boli zverejnené informácie o zraniteľnosti (CVE-2023-6200) v sieťovom zásobníku jadra. Linux, ktorý za určitých okolností umožňuje útočníkovi v lokálnej sieti spustiť jeho kód odoslaním špeciálne vytvoreného paketu ICMPv6 obsahujúceho správu RA (Router Advertisement) určenú na inzerovanie informácií o smerovači.
Túto zraniteľnosť je možné zneužiť iba z lokálnej siete a objavuje sa na systémoch so zapnutou podporou IPv6 a aktívnym parametrom sysctl „net.ipv6.conf.<názov_sieťového_rozhrania>.accept_ra“ (možno ho skontrolovať príkazom „sysctl net.ipv6.conf| grep accept_ra“), ktorý je v RHEL štandardne zakázaný a Ubuntu pre externé sieťové rozhrania, ale povolené pre rozhranie spätnej slučky, čo umožňuje útok z toho istého systému.
Zraniteľnosť je spôsobená konfliktným stavom, keď zberač odpadu spracováva zastarané záznamy fib6_info, čo môže viesť k prístupu k už uvoľnenej oblasti pamäte (použitie po uvoľnení). Pri príjme ICMPv6 paketu s reklamnou správou smerovača (RA, Router Advertisement) sieťový zásobník zavolá funkciu ndisc_router_discovery(), ktorá, ak správa RA obsahuje informácie o životnosti trasy, zavolá funkciu fib6_set_expires() a vyplní gc_link. štruktúru. Na vyčistenie zastaraných záznamov použite funkciu fib6_clean_expires(), ktorá odpojí záznam v gc_link a vymaže pamäť používanú štruktúrou fib6_info. V tomto prípade existuje určitý moment, kedy je pamäť pre štruktúru fib6_info už uvoľnená, ale odkaz na ňu je naďalej v štruktúre gc_link.
Zraniteľnosť sa prejavuje od verzie 6.6 a bola opravená vo verziách 6.6.9 a 6.7. Stav opravy zraniteľnosti v distribúciách je možné posúdiť na týchto stránkach: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Medzi distribúciami, ktoré dodávajú balíčky s jadrom 6.6, stojí za zmienku Arch. Linux, Gentoo, Fedora, Slackware, OpenMandriva a Manjaro, v iných distribúciách je možné, že zmena bude s chybou spätne portovaná do balíkov so staršími vetvami jadra (napríklad v Debian (Uvádza sa, že zraniteľný balík je s jadrom 6.5.13, zatiaľ čo problematická zmena bola zavedená vo vetve 6.6.) Ako riešenie môžete vypnúť IPv6 alebo nastaviť hodnotu 0 pre parametre „net.ipv6.conf.*.accept_ra“.
Zdroj: opennet.ru
