Pe 30 iunie 2026 au fost publicate notificări privind corectarea a 13 noi vulnerabilități în sistemul de operare FreeBSD.
- CVE-2026-49418. Un utilizator cu acces la un dispozitiv care are o interfață memory-mapped poate provoca un double-free/use-after-free în kernel. Acest lucru ar putea conduce, probabil, la creșterea privilegiilor.
- CVE-2026-49419. (doar FreeBSD 15+) Reducerea dublă a refcount-ului actual al jail-ului în timpul procesării unei erori la accesarea unui alt jail prin descriptor jail (apărut în FreeBSD 15), ceea ce duce la eliberarea neplanificată a structurii de control a jail-ului și la ulterioare use-after-free în toate locurile unde este utilizată. Teoretic, ar putea duce la creșterea privilegiilor.
- CVE-2026-49415. La executarea unui program setuid, drepturile de acces la memoria acestuia sunt stabilite puțin mai târziu decât inițializarea acestei memorii, ceea ce permite, pentru o perioadă scurtă de timp, accesul și modificarea acesteia fără privilegii necesare, prin procfs sau linprocfs. În majoritatea sistemelor procfs, și cu atât mai mult libprocfs, nu sunt montate, astfel că problema probabil că afectează foarte puțini utilizatori.
- CVE-2026-49429, CVE-2026-49430, CVE-2026-49431. (doar pentru sistemele cu ZFS) Primele două erori sunt legate de alocarea de memorie cu dimensiunea incorectă: se alocă un buffer de dimensiune transmisă ca un număr pe 32 de biți, iar apoi se scriu date de dimensiune reală în el, ceea ce conduce la o depășire, dacă dimensiunea reală a buffer-ului a fost mai mare de 4GB. Ambele pot fi provocate doar de root sau de un utilizator cu privilegii explicit adăugate pentru operațiile vulnerabile. A treia eroare este exploatabilă de oricine, permițând oricărei persoane să seteze un steag „$hasrecvd” pe dataset folosind ZFS_IOC_SET_PROP (cât de periculos este, din anunț, nu este clar).
- CVE-2026-49420. Lipsa verificării corespunzătoare a dimensiunii pachetului înainte de a-l scrie în bufferul de dimensiune fixă din stivă în modulul libalias de suport RTSP permite posibilitatea de a cauza un overflow de stivă atât la nivel de kernel (pentru ipfw nat), cât și la nivelul procesului natd (care este de obicei rulat de root), chiar și fără autentificare. Aceasta poate conduce la RCE. Vulnerabilitatea poate fi exploatată de un host malițios dintr-o rețea locală cu NAT realizat prin libalias, care trimite pachete RTSP dăunătoare. Așadar, vulnerabilitatea nu afectează hosturile pe care nu este activat NAT în niciun fel. De asemenea, natd va înceta să fie vulnerabil dacă se elimină linia libalias_smedia.so din /etc/libalias.conf și se repornește natd, iar ipfw nat nu va fi vulnerabil fără a încărca modulul alias_smedia.ko (nu se specifică dacă acesta poate fi încărcat automat). De asemenea, handler-ul vulnerabil analizează doar pachetele TCP/UDP care ies, având unul dintre porturile 554 sau 7070 - dacă se blochează aceste pachete înainte de a ajunge în NAT, vulnerabilitatea va dispărea.
- CVE-2026-49421. unlinkat() și funlinkat() nu au luat în considerare flagul AT_RESOLVE_BENEATH, care ar fi trebuit să interzică ieșirea din limita directorului specificat prin argumentul dirfd. Astfel, se permitea ștergerea fișierelor din afara directorului atunci când codul apelant dorea să impună această restricție.
- CVE-2026-49422. O cursă în modulul tcp_rack.ko (în mod implicit, acesta nu este încărcat). Fiecare socket TCP poate alege individual stiva TCP prin care va funcționa, inclusiv prin schimbarea acesteia la cald. Dacă se procedează astfel: 1) pe un socket cu tcp_rack se apelează setsockopt() specific pentru rack, 2) într-un alt fir de execuție reușim rapid să schimbăm stiva TCP de la rack la altă opțiune și încă o dată să revenim rapid la rack în momentul potrivit, handler-ul setsockopt() pentru rack va lucra cu adresa veche (anterior schimbării) a structurii de stare a socket-ului, ceea ce duce la coruperea memoriei și la o posibilă creștere a privilegiilor. Sunt vulnerabile doar sistemele unde tcp_rack.ko este evident încărcat, nu este implicit.
- CVE-2026-49427, CVE-2026-49428. Pages mari POSIX (shm_create_largepage) la alocare nu erau marcate suficient de atent ca folosite, ceea ce ar putea duce la eliberarea greșită în diferite circumstanțe (sunt menționate apelurile sendfile cu flagul SF_NOCACHE, open cu flagul O_TRUNC și fspacectl) și la un subsequent use-after-free cu consecințe obișnuite.
- CVE-2026-49426. Jurnalele audit(4) incorecte despre apelurile sistemice îndepărtate prin ptrace(PT_SC_REMOTE). Acestea pot confunda sistemele de analiză a situațiilor suspecte, dacă sunt utilizate.
- CVE-2026-49423. Panică posibilă a nucleului în timpul recepționării datelor prin kTLS cu implicarea înregistrărilor TLS 1.2 CBC. Pentru a evita problema, se poate seta kern.ipc.tls.enable=0 sau kern.ipc.tls.cbc_enable=0.
- CVE-2026-49424. Scăderea de date (104 octeți) din stiva nucleului la apelarea linux-compat waitid(), care uită să reseteze partea nefolosită a structurii linux siginfo_t atunci când transferă date din cea freebsd. În nucleele GENERIC obișnuite, emulatorul linux este dezactivat în mod implicit și se activează doar manual prin încărcarea modulului.
- CVE-2026-49425. Similar cu precedentul, kevent pe 32 de biți uită să reseteze structura pe 32 de biți înainte de a transfera date din cea nativă pe 64 de biți, ceea ce duce la scăderea de date din stivă. Compatibilitatea pe 32 de biți este activată în nucleu în mod implicit (nu prin modul).
- CVE-2026-58081, CVE-2026-58082. Vulnerabilități în iconv. Prima: multe dintre modulele sale nu verifică dimensiunea buffer-ului de ieșire furnizat de codul apelant înainte de a scrie în el rezultatul (menționate HZ, UTF-7, VIQR, ZW). A doua: modulul ISO-2022 folosește un buffer de 6 octeți în stivă pentru operațiuni interne, dar în el pot fi scrise până la 10 octeți, deteriorând stiva. Prin urmare, rularea iconv pentru a converti într-una sau dintr-una dintre codările specificate cu date de intrare neverificate poate fi vulnerabilă la overflow-uri.
Sursa: linux.org.ru
