Felfedték a CVE-2023-6200 sérülékenység információit a Linux kernel hálózati stackjében, amely bizonyos körülmények között lehetővé teszi, hogy a helyi hálózaton lévő támadó kódot futtasson egy speciálisan formázott ICMPv6 csomag RA (Router Advertisement) üzenetének elküldésével, amely a router információk hirdetésére szolgál.
A sérülékenység csak a helyi hálózatból kihasználható, és a támadás látható a IPv6 támogatással rendelkező rendszereken, amelyeknél az elfogadott RA üzenetek sysctl paramétere aktív ('net.ipv6.conf..accept_ra') (ellenőrizhető a 'sysctl net.ipv6.conf | grep accept_ra' paranccsal), amely alapértelmezés szerint ki van kapcsolva az RHEL és Ubuntu külső hálózati interfészein, de engedélyezett a loopback interfészen, ami lehetővé teszi a támadást ugyanarról a rendszerről.
A sérülékenységet versenyhelyzet okozza a fib6_info elavult bejegyzéseinek feldolgozása során, ami a már felszabadított memória területéhez (use-after-free) vezethet. Amikor egy ICMPv6 csomagot kapunk, amely a router hirdetési üzenetet (RA, Router Advertisement) tartalmazza, a hálózati stack meghívja az ndisc_router_discovery() funkciót, amely, ha a RA üzenetben forrásidő adat található, meghívja a fib6_set_expires() funkciót, és kitölti a gc_link struktúrát. Az elavult bejegyzések tisztítására a fib6_clean_expires() funkciót használják, amely leválasztja a bejegyzést a gc_linkről, és felszabadítja a fib6_info struktúra által használt memóriát. Itt van egy szakasz, amikor a fib6_info struktúra memóriája már felszabadítva lett, de a rá mutató hivatkozás még mindig a gc_link struktúrában található.
A sérülékenység a 6.6-os ágba való áttéréssel jelentkezik, és a 6.6.9 és 6.7 verziókban javították. A sérülékenység megszüntetésének állapota a disztribúciókban ezen az oldalakon értékelhető: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Azok a disztribúciók, amelyek a 6.6-es kernelt tartalmazó csomagokat szállítanak, közé tartozik az Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva és Manjaro, míg más disztribúciókban nem zárható ki, hogy a régebbi kernel ágazatokhoz hibás backportolás történik (például a Debian megemlíti, hogy a 6.5.13 kernelcsomag érintett, míg a problémás módosítás a 6.6-os ágból származik). Mint védekezési megoldás, az IPv6 letiltása vagy a 'net.ipv6.conf.*.accept_ra' paraméterek 0 értékre állítása javasolt.
Forrás: opennet.ru
