Haavatavus Linuxi tuuma IPv6 virnas, mis võimaldab koodi kaugkäivitamist

Avaldatud on teavet Linuxi tuuma võrgupinus oleva haavatavuse CVE-2023-6200) kohta, mis teatud tingimustel võimaldab kohalikust võrgust pärit ründajal saavutada oma koodi täitmine, saates spetsiaalselt loodud ICMPv6 paketi RA (ruuteri reklaam) sõnum, mis on mõeldud ruuteri teabe reklaamimiseks.

Turvaauku saab ära kasutada ainult kohalikust võrgust ja see ilmub süsteemides, kus IPv6 tugi on lubatud ja sysctl parameeter “net.ipv6.conf.<network_interface_name>.accept_ra” on aktiivne (saab kontrollida käsuga “sysctl net.ipv6.conf | grep accept_ra”), mis on RHEL-is ja Ubuntus vaikimisi keelatud väliste võrguliideste jaoks, kuid lubatud tagasisilmusliidese jaoks, mis võimaldab rünnata samast süsteemist.

Haavatavuse põhjustab võistlusseisund, kui prügikoguja töötleb aegunud fib6_info kirjeid, mis võib viia juurdepääsu juba vabastatud mälualale (kasutus pärast tasuta). ICMPv6 paketi vastuvõtmisel ruuteri reklaamsõnumiga (RA, Router Advertisement) kutsub võrgupinn välja funktsiooni ndisc_router_discovery(), mis juhul, kui RA teade sisaldab teavet marsruudi eluea kohta, kutsub välja funktsiooni fib6_set_expires() ja täidab gc_linki. struktuur. Vananenud kirjete puhastamiseks kasutage funktsiooni fib6_clean_expires(), mis eraldab gc_linki kirje ja tühjendab struktuuri fib6_info kasutatava mälu. Sel juhul on teatud hetk, mil fib6_info struktuuri mälu on juba vabastatud, kuid link sellele jääb endiselt struktuuris gc_link.

Haavatavus ilmnes alates harust 6.6 ja parandati versioonides 6.6.9 ja 6.7. Distributsioonide haavatavuse parandamise olekut saab hinnata järgmistel lehtedel: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Distributsioonidest, mis tarnivad pakette 6.6 tuumaga, võime märkida Arch Linuxi, Gentoo, Fedora, Slackware, OpenMandriva ja Manjaro; teistes distributsioonides on võimalik, et veaga muudatus kantakse tagasi vanemate kerneli harudega pakettidesse (näiteks Näiteks Debianis mainitakse, et pakett kerneliga 6.5.13 on haavatav, samas kui probleemne muudatus ilmnes 6.6 harus). Turvalahendusena saate IPv6 keelata või määrata parameetri „net.ipv0.conf.*.accept_ra” väärtuseks 6.

Allikas: opennet.ru

Lisa kommentaar