Netfilterissä ytimen alijärjestelmä LinuxVerkkopaketin suodatus- ja muokkaustyökalusta on löydetty haavoittuvuus (CVE-2024-1086). Tämä haavoittuvuus mahdollistaa paikallisen käyttäjän suorittaa kernel-koodia ja laajentaa oikeuksiaan. Ongelman aiheuttaa nf_tables-moduulin double-free-ominaisuus, joka käyttää nftables-pakettisuodatinta. Haavoittuvuuden löytänyt tietoturvatutkija on kehittänyt ja julkaissut toimivan prototyypin hyväksikäytöstä.
Hyökkäyksen toiminta on osoitettu viimeaikaisissa julkaisuissa. Debian и Ubuntu ytimien kanssa Linux 5.14–6.6, sekä KernelCTF (Capture the Flag) -ympäristössä, joka sisältää lisäkorjauksia tyypillisten hyökkäysmenetelmien estämiseksi ja jota Google käyttää haavoittuvuuksien palkkio-ohjelmassaan. Hyödyntämisen onnistumisprosentiksi arvioidaan 99.4 %. Liitteenä olevassa artikkelissa kuvataan monimutkaisen, monikerroksisen hyökkäyksen luomisprosessi ja ytimen suojaus- ja hyökkäysmekanismien ohittaminen.

Ongelma liittyy nft_verdict_init()-funktion virheeseen, joka mahdollistaa positiivisten arvojen käytön DROP-virhekoodina koukkuissa, joita voidaan käyttää kutsumaan nf_hook_slow()-funktiota puskurin muistin vapauttamiseksi. joka on jo Free()-funktio kutsuttiin. Ongelma ilmenee, kun NF_DROP-toiminto epäonnistuu ja ydin tulkitsee ensin NF_DROP:n, mutta vapauttaa sitten puskurin ja palauttaa tilan NF_ACCEPT. Tämä tilanne johtaa siihen, että pakettiin liittyvän puskurin vapauttamisesta huolimatta sen käsittely ei pysähdy, vaan siirtyy toiseen käsittelijään, joka puolestaan kutsuu muistinvapautustoiminnon toisen kerran.
Haavoittuvuus ilmenee kernel-versiosta alkaen. Linux 3.15, mutta haavoittuvuuden hyödyntäminen toimii ytimien versiosta 5.14 alkaen. Haavoittuvuuteen ehdotettiin korjausta ytimen julkaisussa. Linux 6.8-rc1 ja se siirrettiin vakaisiin haaroihin 5.15.149, 6.1.76 ja 6.6.15 helmikuun lopussa. Voit seurata haavoittuvuuksien korjauksia seuraavilla sivuilla jakeluissa: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.
Lisäksi ksmbd-moduulissa, joka tarjoaa sisäänrakennetun ytimen, on mahdollista havaita useita haavoittuvuuksia. Linux tiedoston toteutus palvelin SMB-protokollaan perustuen: Haavoittuvuus CVE-2024-26592 mahdollistaa etähyökkääjien suorittaa koodia kernel-oikeuksilla järjestelmissä, joissa ksmbd-moduuli on käytössä. Ongelman aiheuttaa TCP-yhteyden käsittelykoodin kilpailutilanne, joka johtuu siitä, että objektia käsiteltäessä ei aseteta oikeita lukkoja.
CVE-2023-52440-haavoittuvuus mahdollistaa myös oman koodin etäsuorittamisen ytimen oikeuksilla, mutta sen aiheuttaa puskurin ylivuoto virheellisten istuntoavaimien käsittelyssä, koska käyttäjältä vastaanotettujen tietojen kokoa ei ole varmistettu kunnolla ennen niiden kopioimista kiinteän kokoinen puskuri.
Ksmbd:n haavoittuvuudet (1, 2, 3) CVE-2024-26594, CVE-2023-52442 ja CVE-2023-52441 mahdollistavat ytimen muistin sisällön etämäärityksen ilman todennusta. Haavoittuvuus CVE-2024-26594 johtuu virheellisestä tietojen tarkistuksesta käsiteltäessä saapuvia SMB2 Mech -tunnisteita, mikä johtaa tietojen palauttamiseen puskurin rajan ulkopuolelta. Haavoittuvuus CVE-2023-52442 johtuu oikean syötteen vahvistuksen puutteesta käsiteltäessä ketjutettuja pyyntöjä. Haavoittuvuus CVE-2023-52441 johtuu vaaditun syötteen vahvistuksen puutteesta käsiteltäessä SMB2-yhteysneuvottelupyyntöjä.
Haavoittuvuudet CVE-2024-26594 ja CVE-2024-26592 on korjattu ytimen versiossa 6.8 ja korjaavissa päivityksissä aiempiin vakaisiin haaroihin 6.1.75, 6.6.14, 6.7.2. Loput haavoittuvuudet korjattiin ytimessä 6.5 ja päivityksissä 5.15.145, 6.1.53, 6.4.16.
Lopuksi voimme mainita uuden ytimen kehitystiimin aktivoinnin. Linux, joka luotiin analysoimaan haavoittuvuuksia ja arvioimaan ytimen korjauspäivitysten suhdetta tietoturvaongelmiin. Helmikuussa ytimen kehittäjät loivat oman palvelunsa, CNA:n (CVE Numbering Authority), joka sai valtuudet määrittää itsenäisesti CVE-tunnisteita haavoittuvuuksille. Aiemmin CVE-tunnisteiden määrittäminen ja korjauspäivitysten suhteiden analysointi mahdollisiin haavoittuvuuksiin kuului jakelukehittäjille, eikä ytimen mahdollisia haavoittuvuuksia tunnistettu, vaan ne listattiin tavallisten korjauspäivitysten rinnalla. Uuden palvelun tulokset ovat ylittäneet kaikki odotukset – ytimessä tunnistetaan nyt päivittäin jopa useita kymmeniä uusia haavoittuvuuksia, joita ei aiemmin ollut merkitty tietoturvaongelmiksi. Esimerkiksi 26. maaliskuuta uudet CVE-tunnisteet määritettiin 14 haavoittuvuudelle, joita ei aiemmin pidetty tietoturvaongelmina, ja 25. maaliskuuta 41 haavoittuvuudelle.
Lähde: opennet.ru
