FreeBSD-s on tuvastatud haavatavus (CVE-2026-7270), mis võimaldab privileegideta kasutajal täita koodi juurerollides ja saada root-juurdepääsu süsteemile. Haavatavus mõjutab kõiki FreeBSD versioone, mis on loodud alates 2013. aastast. Avalikult on kättesaadav eksploit, mille toimimist on kontrollitud FreeBSD 11.0 kuni 14.4 süsteemides. Haavatavus on kõrvaldatud uuendustes FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 ja 13.5-RELEASE-p13. Vanemate versioonide puhul saab kasutada plaastrit.
Probleem tuleneb puhverülevoolust süsteemikutses execve, mis tekib, kui käsitletakse skriptide esimeses real määratud prefikssi tõlgendaja teekonnana (nt "#!\/bin\/sh"). Ülevool tekib funktsiooni memmove nimetamise korral vale matemaatilise väljendi tõttu, mis arvutab kopeeritava argumentide puhvri suuruse. Selle asemel, et lahutada «args->endp» väärtused «args->begin_argv» ja «consume», lahutati «args->endp» ainult väärtusest «args->begin_argv», samas kui muutuja consume liideti tulemusele, mitte ei lahutatud, st kui tulemusel kopeeriti kaks korda rohkem andmeid kui «consume» väärtus. memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));
Ülevool võimaldab üle kirjutada kõrval asuvas mälualas asuva struktuuri «exec_map» elemente teise protsessi poolt. Eksploidis kasutatakse ülevoolu «exec_map» sisu ülekirjutamiseks süsteemis perioodiliselt käivitatavate privileegidega protsesside jaoks. Sarnase protsessina on valitud sshd, mis iga võrguühenduse loomise korral forks ja execve kaudu eraldab protsessi «\/usr\/libexec\/sshd-session» root-privileegidega.
Eksploit sisestab antud protsessi keskkonnamuutujaks «LD_PRELOAD=\/tmp\/evil.so», mis toob kaasa oma teeki laadimise sshd-sessiooni kontekstis. Sisestatud teek loob failisüsteemis teostatava faili \/tmp\/rootsh risustusega root-i. Eduka puhveri ülevoolu tõenäosus on hinnanguliselt 0,6%, kuid tänu katsete kordamise tsüklile saavutatakse eduka ekspluateerimise tõenäosus umbes 6 sekundi jooksul 4-core CPU süsteemis.

Lisaks on FreeBSD-s kõrvaldatud veel mitu haavatavust:
- CVE-2026-35547, CVE-2026-39457 — puhanguvur, mis esineb libnv raamatukogus, mida kasutatakse kerneli ja põhisisestusprogrammide rakendustes võtme/väärtuse formaatide nimekirjade töötlemiseks ning andmete edastamise korraldamiseks protsesside vahel. Esimene probleem tuleneb vale sõnumi suuruse arvutamisest spetsiaalselt kujundatud IPC-sõnumite pealkirjade töötlemisel. Teine probleem põhjustab pöördude ületäitumise andmete vahetamisel soketi kaudu, kuna soketi deskriptorite suuruse ja select() funktsioonis kasutatava puhveri suuruse vastavust ei kontrollita. Potentsiaalselt võivad haavatavused võimaldada õiguste suurendamist süsteemis.
- CVE-2026-42512 — kaugelt kasutatav puhanguvuru dhclientis, mis tekib, kuna massiivi pointerite suuruse vale arvutamine, mida kasutatakse keskkonnamuutujate edastamiseks dhclient-skripti. Ei välistata eksploitide loomise võimalust kaugkoodi käivitamiseks spetsiaalselt kujundatud DHCP-paketi saatmise kaudu.
- CVE-2026-7164 — pöördumine virna ületäitumiseks pf-pakettfiltris, mis tekib spetsiaalselt kujundatud SCTP-paketiga töötlemisel. Probleem tuleneb piiramatu rekursiivse SCTP parameetrite analüüsi abil.
- CVE-2026-42511 — võimalus asendada dhclient.conf-failis suvalisi direktiive, kuna BOOTP väljade kahekordse sulgude nõuetekohane väljapressimine puudub, mis saadakse välised DHCP-serverilt. Järgneval analüüsimisel dhclienti protsessi poolt antud fail, edastatakse ründaja poolt määratud väli dhclient-skripti, mis võib võimaldada suvaliste käskude käivitamist root-õigustega süsteemides, mis kasutavad dhclienti ründaja kontrollitud DHCP-serveriga suhtlemisel.
- CVE-2026-6386 — suurte mälu lehekülgede nõuetekohase töötlemise puudumine kernelifunktsioonis pmap_pkru_update_range(). Privilegeeritud kasutaja võib sundida pmap_pkru_update_range() töötlema mälu kasutaja ruumis nagu leht mälu lehekülgede tabelis ja saavutada juurdepääsu ala üle kirjutamise, kuhu ei ole juurdepääsu.
- CVE-2026-5398 — juurdepääs juba vabastatud mälu alale TIOCNOTTY töötlejas, mis võimaldab privileegideta protsessil saada root-õiguseid.
Allikas: opennet.ru
