Zraniteľnosť v zásobníku IPv6 jadra Linuxu, ktorá umožňuje vzdialené spustenie kódu

Boli zverejnené informácie o zraniteľnosti CVE-2023-6200) v sieťovom zásobníku linuxového jadra, ktorá za určitých okolností umožňuje útočníkovi z lokálnej siete dosiahnuť spustenie jeho kódu odoslaním špeciálne navrhnutého paketu ICMPv6 s správa RA (Router Advertisement) určená na reklamu informácií o smerovači.

Zraniteľnosť je možné zneužiť iba z lokálnej siete a objavuje sa na systémoch s povolenou podporou IPv6 a aktívnym parametrom sysctl „net.ipv6.conf.<názov_rozhrania_siete>.accept_ra“ (dá sa skontrolovať príkazom „sysctl net.ipv6.conf | grep accept_ra”), ktorý je v RHEL a Ubuntu predvolene vypnutý pre externé sieťové rozhrania, ale povolený pre rozhranie spätnej slučky, ktoré umožňuje útok z rovnaké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.

Chyba zabezpečenia sa objavila od vetvy 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, môžeme zaznamenať Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva a Manjaro; v iných distribúciách je možné, že zmena s chybou je spätne prenesená do balíkov so staršími vetvami jadra (napr. napríklad v Debiane sa spomína, že balík s jadrom 6.5.13 je zraniteľný, pričom problematická zmena sa objavila vo vetve 6.6). Ako riešenie zabezpečenia môžete vypnúť IPv6 alebo nastaviť parametre „net.ipv0.conf.*.accept_ra“ na 6.

Zdroj: opennet.ru

Pridať komentár