Linux-ytimen IPv6-pinon haavoittuvuus, joka mahdollistaa koodin etäsuorittamisen

Linux-ytimen verkkopinon haavoittuvuudesta CVE-2023-6200) on paljastettu tietoa, joka tietyissä olosuhteissa sallii paikallisverkon hyökkääjän suorittaa koodinsa lähettämällä erityisesti suunnitellun ICMPv6-paketin RA (Router Advertisement) -viesti, jonka tarkoituksena on mainostaa tietoja reitittimestä.

Haavoittuvuutta voidaan hyödyntää vain paikallisverkosta ja se näkyy järjestelmissä, joissa IPv6-tuki on käytössä ja sysctl-parametri "net.ipv6.conf.<network_interface_name>.accept_ra" on aktiivinen (voidaan tarkistaa komennolla "sysctl net.ipv6.conf" | grep accept_ra”), joka on oletuksena poistettu käytöstä RHEL:ssä ja Ubuntussa ulkoisissa verkkoliitännöissä, mutta käytössä silmukkarajapinnassa, joka sallii hyökkäyksen samasta järjestelmästä.

Haavoittuvuus johtuu kilpailutilanteesta, kun roskankerääjä käsittelee vanhentuneita fib6_info-tietueita, mikä voi johtaa pääsyyn jo vapautetulle muistialueelle (use-after-free). Vastaanottaessaan ICMPv6-paketin reitittimen mainosviestillä (RA, Router Advertisement), verkkopino kutsuu ndisc_router_discovery()-funktiota, joka, jos RA-sanoma sisältää tietoa reitin eliniästä, kutsuu fib6_set_expires()-funktiota ja täyttää gc_linkin. rakenne. Voit puhdistaa vanhentuneet merkinnät käyttämällä fib6_clean_expires()-funktiota, joka irrottaa gc_linkin merkinnän ja tyhjentää fib6_info-rakenteen käyttämän muistin. Tässä tapauksessa on tietty hetki, jolloin fib6_info-rakenteen muisti on jo vapautettu, mutta linkki siihen on edelleen gc_link-rakenteessa.

Haavoittuvuus ilmestyi haarasta 6.6 alkaen ja se korjattiin versioissa 6.6.9 ja 6.7. Jakelujen haavoittuvuuden korjaamisen tilaa voi arvioida näillä sivuilla: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Jakeluista, jotka toimittavat paketteja 6.6-ytimellä, voidaan mainita Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva ja Manjaro; muissa jakeluissa on mahdollista, että virheellinen muutos siirretään takaisin paketeihin, joissa on vanhempia ydinhaaroja (esim. Esimerkiksi Debianissa mainitaan, että paketti ytimen 6.5.13 kanssa on haavoittuva, kun taas ongelmallinen muutos ilmestyi 6.6-haaraan). Suojauksen kiertotapana voit poistaa IPv6:n käytöstä tai asettaa "net.ipv0.conf.*.accept_ra"-parametreiksi 6.

Lähde: opennet.ru

Lisää kommentti