Sårbarhet i IPv6-stakken til Linux-kjernen som tillater ekstern kjøring av kode

Det er avslørt informasjon om sårbarheten CVE-2023-6200) i nettverksstabelen til Linux-kjernen, som under visse omstendigheter lar en angriper fra et lokalt nettverk oppnå kjøringen av koden sin ved å sende en spesialdesignet ICMPv6-pakke med en RA-melding (Router Advertisement) beregnet på å annonsere informasjon om ruteren.

Sårbarheten kan kun utnyttes fra det lokale nettverket og vises på systemer med IPv6-støtte aktivert og sysctl-parameteren "net.ipv6.conf.<nettverksgrensesnittnavn>.accept_ra" aktiv (kan sjekkes med kommandoen "sysctl net.ipv6.conf | grep accept_ra") , som er deaktivert som standard i RHEL og Ubuntu for eksterne nettverksgrensesnitt, men aktivert for loopback-grensesnittet, som tillater et angrep fra samme system.

Sårbarheten er forårsaket av en rasetilstand når søppeloppsamleren behandler foreldede fib6_info-poster, noe som kan føre til tilgang til et allerede frigjort minneområde (bruk-etter-fri). Når du mottar en ICMPv6-pakke med en ruterannonseringsmelding (RA, Router Advertisement), kaller nettverksstakken ndisc_router_discovery()-funksjonen, som, hvis RA-meldingen inneholder informasjon om rutelevetiden, kaller opp funksjonen fib6_set_expires() og fyller gc_linken. struktur. For å rydde opp i foreldede oppføringer, bruk fib6_clean_expires()-funksjonen, som kobler fra oppføringen i gc_link og tømmer minnet som brukes av fib6_info-strukturen. I dette tilfellet er det et visst øyeblikk når minnet for fib6_info-strukturen allerede er frigjort, men koblingen til den fortsetter å være i gc_link-strukturen.

Sårbarheten dukket opp fra gren 6.6 og ble fikset i versjon 6.6.9 og 6.7. Statusen for å fikse sårbarheten i distribusjoner kan vurderes på disse sidene: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Blant distribusjonene som sender pakker med 6.6-kjernen, kan vi merke oss Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva og Manjaro; i andre distribusjoner er det mulig at endringen med en feil er tilbakeportert til pakker med eldre kjernegrener (f. eksempel, i Debian er det nevnt at pakken med kjerne 6.5.13 er sårbar, mens den problematiske endringen dukket opp i 6.6-grenen). Som en sikkerhetsløsning kan du deaktivere IPv6 eller sette «net.ipv0.conf.*.accept_ra»-parametrene til 6.

Kilde: opennet.ru

Legg til en kommentar