Sårbarhed i IPv6-stakken af ​​Linux-kernen, der tillader fjernudførelse af kode

Der er blevet afsløret oplysninger om sårbarheden CVE-2023-6200) i netværksstakken af ​​Linux-kernen, som under visse omstændigheder tillader en angriber fra et lokalt netværk at opnå eksekvering af sin kode ved at sende en specialdesignet ICMPv6-pakke med en RA-meddelelse (Router Advertisement) beregnet til at reklamere for information om routeren.

Sårbarheden kan kun udnyttes fra det lokale netværk og vises på systemer med IPv6-understøttelse aktiveret og sysctl-parameteren “net.ipv6.conf.<network_interface_name>.accept_ra” aktiv (kan kontrolleres med kommandoen “sysctl net.ipv6.conf). | grep accept_ra") , som er deaktiveret som standard i RHEL og Ubuntu for eksterne netværksgrænseflader, men aktiveret for loopback-grænsefladen, som tillader et angreb fra det samme system.

Sårbarheden er forårsaget af en racetilstand, når skraldeopsamleren behandler forældede fib6_info-poster, hvilket kan føre til adgang til et allerede frigivet hukommelsesområde (brug-efter-fri). Ved modtagelse af en ICMPv6-pakke med en routerannonceringsmeddelelse (RA, Router Advertisement), kalder netværksstakken ndisc_router_discovery()-funktionen, som, hvis RA-meddelelsen indeholder information om rutens levetid, kalder fib6_set_expires()-funktionen og udfylder gc_linket struktur. For at rydde op i forældede poster, brug fib6_clean_expires()-funktionen, som frakobler posten i gc_link og rydder den hukommelse, der bruges af fib6_info-strukturen. I dette tilfælde er der et bestemt øjeblik, hvor hukommelsen til fib6_info-strukturen allerede er frigivet, men linket til den fortsætter med at være i gc_link-strukturen.

Sårbarheden dukkede op fra gren 6.6 og blev rettet i version 6.6.9 og 6.7. Status for at rette sårbarheden i distributioner kan vurderes på disse sider: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Blandt de distributioner, der sender pakker med 6.6-kernen, kan vi bemærke Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva og Manjaro; i andre distributioner er det muligt, at ændringen med en fejl er backporteret til pakker med ældre kernegrene (f. Eksempelvis nævnes det i Debian, at pakken med kerne 6.5.13 er sårbar, mens den problematiske ændring dukkede op i 6.6-grenen). Som en sikkerhedsløsning kan du deaktivere IPv6 eller indstille "net.ipv0.conf.*.accept_ra"-parametrene til 6.

Kilde: opennet.ru

Tilføj en kommentar