Zranitelnost v IPv6 stacku jádra Linuxu umožňující vzdálené spuštění kódu

Byla odhalena zranitelnost CVE-2023-6200 v síťovém stacku jádra Linux, která za určitých okolností umožňuje útočníkovi v lokální síti provést svůj kód prostřednictvím odeslání speciálně formátovaného paketu ICMPv6 s RA (Router Advertisement) zprávou, určenou pro oznámení informací o routeru.

Zranitelnost může být exploitována pouze z lokální sítě a projevuje se v systémech se zapnutou podporou IPv6 a aktivním sysctl parametrem „net.ipv6.conf.<jméno_sítového_rozhraní>.accept_ra“ (lze zkontrolovat příkazem „sysctl net.ipv6.conf | grep accept_ra“), který je ve výchozím nastavení vypnutý v RHEL a Ubuntu pro externí síťová rozhraní, ale zapnutý pro rozhraní loopback, což umožňuje útok ze stejného systému.

Zranitelnost je způsobena stavem závodu při zpracování zastaralých záznamů fib6_info správcem paměti, což může vést k přístupu k již uvolněné oblasti paměti (use-after-free). Při příjmu paketu ICMPv6 s oznámením o routeru (RA, Router Advertisement) síťový stack vyvolává funkci ndisc_router_discovery(), která při přítomnosti dat o životnosti trasy v RA zprávě volá funkci fib6_set_expires() a vyplňuje strukturu gc_link. Pro úklid zastaralých záznamů se používá funkce fib6_clean_expires(), která odpojí záznam v gc_link a vyčistí paměť používanou strukturou fib6_info. V tomto okamžiku existuje určitý moment, kdy paměť pro strukturu fib6_info již byla uvolněna, ale odkaz na ni zůstává ve struktuře gc_link.

Zranitelnost se projevuje od verze 6.6 a byla odstraněna ve verzích 6.6.9 a 6.7. Stav odstranění zranitelnosti v distribucích lze posoudit na těchto stránkách: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Mezi distribucemi, které dodávají balíčky s jádrem 6.6, lze zmínit Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva a Manjaro, u ostatních distribucí není vyloučeno backportování změny s chybou do balíčků se staršími větvemi jádra (například v Debianu se uvádí, že zranitelný balíček má jádro 6.5.13, zatímco problematická změna se objevila ve větvi 6.6). Jako obchvatovou metodu ochrany lze vypnout IPv6 nebo přidělit hodnotu 0 parametrům „net.ipv6.conf.*.accept_ra“.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster