Netfilteris, Linuxi tuumaal asuv alljärgneva paketifiltreerimise ja -muutmise süsteem, leidis turvaviga (CVE-2024-1086), mis võimaldab kohalikel kasutajatel käitada tuuma tasemel koodi ja tõsta oma õigusi süsteemis. Probleem tuleneb mälu topeltvabastamisest (double-free) nf_tables moodulis, mis haldab nftables pakettfiltrit. Turvavea avastanud turuurija on arendanud ja avaldanud töökava, mille kaudu eksploiti demonstreerida.
Eksploidimise töö on demonstreeritud aktuaalsetes Debian ja Ubuntu väljaannetes, kus on Linuxi tuumad vahemikus 5.14 kuni 6.6, samuti KernelCTF (Capture the Flag) keskkonnas, mis sisaldab täiendavaid plaastrite rikka reeglite blokeerimist ja mida Google kasutab turvavigade leidmise auhinnaprogrammis. Eksploidi eduka töö tõenäosus on 99,4%. Saateartiklis on üksikasjalikult käsitletud keerukate mitmeastmeliste eksploitside loomise protsessi ja tuuma kaitse- ja vastumeetmete ületamist.

Probleem on seotud veaga nft_verdict_init() funktsioonis, mis lubab positiivsete väärtuste kasutamise pakettide viskemise veakoodina (DROP) hookides, võimaldades seega nf_hook_slow() funktsioonis uuesti vabastada mälu juba varem vabastatud puhver. Probleem tekib, kui NF_DROP operatsioon on tõlgendatud veaga ja tuum tõlgendab esmalt NF_DROP'i, vabastab seejärel puhvri ja tagastab staatuse NF_ACCEPT. See olukord viib selleni, et kuigi pakettide puhver on vabastatud, ei peata selle töötlemine ja see edastatakse teisele töötlejale, mis omakorda kutsub teist korda välja mälu vabastamise funktsiooni.
Turvaviga ilmneb alates Linuxi tuuma versioonist 3.15, kuid eksploiti saab kasutada alates versioonist 5.14. Turvavea parandamine on pakutud Linuxi tuuma väljaandes 6.8-rc1 ja veebruari lõpus viidud stabiilsetesse harudesse 5.15.149, 6.1.76 ja 6.6.15. Distrodes saab turvavea parandust jälgida lehtedel: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.
Lisaks sellele tuleks märkida järjestikku turvavead ksmbd moodulis, mis pakub tuuma Linuxi seadistust SMB protokolli põhjal: Turvaviga CVE-2024-26592 võimaldab kaugjuhtimisel ilma autentimiseta lähtestada oma koodi tuuma õigustega süsteemides, kus ksmbd moodul on aktiivne. Probleem tuleneb võistlushäiretest TCP-ühenduse töötlemise koodis, mis tekib sobivate lukustuste puudumise tõttu objekti käsitlemisel. serverile Turvaviga CVE-2023-52440 võimaldab samuti kaugjuhtimisel saavutada oma koodi täitmist tuuma õigustega, kuid see tuleneb puhvri ületäitumisest vale sisenemise võtmete töötlemisel, kuna puudub korralik suuruse kontroll kasutajalt saadud andmete kopeerimisel fikseeritud suuruse puhvri.
Turvavead (1, 2, 3) CVE-2024-26594, CVE-2023-52442 ja CVE-2023-52441 ksmbd-s võimaldavad kaugelt ja ilma autentimiseta pääseda tuuma mälu sisule. Turvaviga CVE-2024-26594 tuleneb andmete vale kontrollimisest, kui töödeldakse vastuvõetud SMB2 Mech tokenit, mis viib andmete tagastamiseni puhvri piiridest. Turvaviga CVE-2023-52442 on tingitud piisavate sisendandmete kontrollimise puudumisest seondunud (chained) päringute töötlemisel. Turvaviga CVE-2023-52441 tuleneb vajalikku sisendaandmete kontrolli puudumisest SMB2 ühenduse lepingu päringute töötlemisel.
Turvavead CVE-2024-26594 ja CVE-2024-26592 on parandatud tuumas 6.8 ja varasemate stabiilsete harude, sealhulgas 6.1.75, 6.6.14, 6.7.2, korrigeerivate värskenduste raames. Ülejäänud turvavead on parandatud tuumas 6.5 ja värskendustes 5.15.145, 6.1.53, 6.4.16.
Haavatavused CVE-2024-26594 ja CVE-2024-26592 on parandatud kernelis 6.8 ja eelnevate stabiilsete versioonide 6.1.75, 6.6.14, 6.7.2 korrigeerivate uuenduste kaudu. Ülejäänud haavatavused on kõrvaldatud kernelis 6.5 ja uuendustes 5.15.145, 6.1.53, 6.4.16.
Kokkuvõttes võib mainida, et on aktiveeritud uus Linuxi tuumaarendajate meeskond, mis on loodud haavatavuste analüüsimiseks ja tuuma paranduste seostamise hindamiseks turvaprobleemidega. Veebruaris asutas Linuxi arendajate meeskond enda CNA (CVE Numbering Authority) teenuse, mis sai õiguse iseseisvalt määrata haavatavustele CVE-identifikaatoreid. Varem lasus CVE määramine ja paranduste seostamine võimalike haavatavustega distributsioonide arendajate õlgadel, ning tuumas ei olnud potentsiaalsed haavatavused eraldi märgitud ega olnud eristunud tavalistest parandustest. Uue teenuse töö tulemused ületasid kõik ootused — igapäevaselt märgitakse tuumas kuni mitukümmend uut haavatavust, mis varem ei olnud turvaprobleemidena esile tõstetud. Näiteks 26. märtsil määrati uued CVE-identifikaatorid 14 haavatavusele, mida varem ei peetud turvaprobleemideks, ja 25. märtsil — 41 haavatavusele.
Allikas: opennet.ru
