Informatie over de kwetsbaarheid CVE-2023-6200 in de netwerkstack van de Linux-kernel is onthuld, waardoor, onder bepaalde omstandigheden, een aanvaller in het lokale netwerk zijn code kan uitvoeren door een speciaal gepaket ICMPv6 met een RA (Router Advertisement) bericht te versturen, bedoeld om informatie over de router aan te kondigen.
De kwetsbaarheid kan alleen vanuit het lokale netwerk worden misbruikt en doet zich voor in systemen met ingeschakelde IPv6-ondersteuning en de actieve sysctl-parameter 'net.ipv6.conf..accept_ra' (kan worden gecontroleerd met het commando 'sysctl net.ipv6.conf | grep accept_ra'), die standaard is uitgeschakeld in RHEL en Ubuntu voor externe netwerkinterfaces, maar ingeschakeld is voor de loopback-interface, wat een aanval vanaf hetzelfde systeem mogelijk maakt.
De kwetsbaarheid wordt veroorzaakt door een raceconditie bij het verwerken van verouderde fib6_info records door de garbage collector, wat kan leiden tot toegang tot al vrijgegeven geheugen (use-after-free). Bij ontvangst van een ICMPv6-pakket met een routeradvertentie (RA, Router Advertisement) roept de netwerkstack de functie ndisc_router_discovery() aan, die bij aanwezigheidsinformatie in het RA-bericht over de levensduur van een route de functie fib6_set_expires() aanroept en de gc_link-structuur invult. Voor het opruimen van verouderde records wordt de functie fib6_clean_expires() gebruikt, die het record in gc_link loskoppelt en het geheugen dat door de fib6_info-structuur wordt gebruikt, opruimt. Op dat moment is er een bepaalde periode waarin het geheugen voor de fib6_info-structuur al is vrijgegeven, maar de verwijzing daarnaar nog steeds in de gc_link-structuur aanwezig is.
De kwetsbaarheid doet zich voor vanaf versie 6.6 en is opgelost in versies 6.6.9 en 6.7. De status van de oplossing voor de kwetsbaarheid in distributies kan worden beoordeeld op de volgende pagina's: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Van de distributies die pakketten met kernel 6.6 leveren, kunnen we Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva en Manjaro noemen; in andere distributies is het niet uitgesloten dat fouten in backports van wijzigingen in pakketten met oudere kernelversies zijn opgetreden (bijvoorbeeld, in Debian wordt vermeld dat het kwetsbare pakket met kernel 6.5.13 is, terwijl de problematische wijziging verscheen in de 6.6-versie). Als workaround voor bescherming kan IPv6 worden uitgeschakeld of kan de waarde 0 worden toegewezen aan de parameters 'net.ipv6.conf.*.accept_ra'.
Bron: opennet.ru
