Der er blevet afsløret oplysninger om sårbarheden CVE-2023-6200 i Linux-kernens netværksstack, som i visse tilfælde kan give en angriber fra det lokale netværk mulighed for at udføre sin kode ved at sende et specielt udformet ICMPv6-pakke med en RA (Router Advertisement) besked, der er beregnet til at annoncere oplysninger om routeren.
Sårbarheden kan kun udnyttes fra det lokale netværk og forekommer i systemer med aktiveret IPv6-understøttelse og den aktive sysctl-parameter "net.ipv6.conf..accept_ra" (kan kontrolleres med kommandoen "sysctl net.ipv6.conf| grep accept_ra"), som som standard er deaktiveret i RHEL og Ubuntu for eksterne netværksinterfaces, men aktiveret for loopback-interface, hvilket tillader angreb fra samme system.
Sårbarheden opstår på grund af en race condition ved behandlingen af forældede fib6_info-poster af garbage collection, hvilket kan føre til adgang til et allerede frigivet hukommelsesområde (use-after-free). Når en ICMPv6-pakke med en router advertisement (RA) besked modtages, kalder netværksstakken funktionen ndisc_router_discovery(), som, hvis RA-beskeden indeholder oplysninger om rutelevetiden, kalder funktionen fib6_set_expires() og fylder gc_link-strukturen. For at rense de forældede poster anvendes funktionen fib6_clean_expires(), som løsner posten i gc_link og frigiver den hukommelse, der bruges af fib6_info-strukturen. På et bestemt tidspunkt er hukommelsen til fib6_info-strukturen allerede frigivet, men referencen til den fortsætter med at eksistere i gc_link-strukturen.
Sårbarheden optræder fra version 6.6 og er blevet rettet i versioner 6.6.9 og 6.7. Status for sårbarhedsløsning i distributioner kan vurderes på følgende sider: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Af distributioner, der leverer pakker med kernel 6.6, kan nævnes Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva og Manjaro, mens der i de øvrige distributioner kan være risiko for tilbageportering af ændringen med en fejl til pakker med ældre kernelinjer (f.eks. nævnes det i Debian, at den sårbare pakke er med kernel 6.5.13, mens den problematiske ændring opstod i linje 6.6). Som en midlertidig beskyttelse kan IPv6 deaktiveres eller delta parameterne "net.ipv6.conf.*.accept_ra" sættes til 0.
Kilde: opennet.ru
