Vulnerabilitate în apelul de sistem execve, oferind acces root în FreeBSD

A fost descoperită o vulnerabilitate în FreeBSD (CVE-2026-7270) care permite unui utilizator neprivilegiat să execute cod cu drepturi de kernel și să obțină acces root la sistem. Vulnerabilitatea afectează toate versiunile FreeBSD lansate din 2013. Un exploit a fost publicat, a cărui funcționare a fost verificată pe sistemele cu FreeBSD 11.0 până la 14.4. Vulnerabilitatea a fost remediată în actualizările FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 și 13.5-RELEASE-p13. Pentru versiuni mai vechi, se poate utiliza un patch.

Problema este cauzată de un overflow al buffer-ului în apelul de sistem execve, care apare în momentul procesării prefixului specificat în prima linie a scripturilor pentru a determina calea către interpretator (de exemplu, "#!\/bin\/sh"). Overflow-ul apare la apelarea funcției memmove din cauza formulării incorecte a expresiei matematice pentru calcularea dimensiunii argumentelor copiate în buffer. În loc să scadă din "args->endp" valorile "args->begin_argv" și "consume", din "args->endp" s-a scăzut doar valoarea "args->begin_argv", iar variabila consume a fost adăugată la rezultat, nu scăzută, adică, ca urmare, au fost copiate mai multe date cu două valori "consume". memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));

Overflow-ul permite suprascrierea elementelor structurii "exec_map" aflate în vecinătate cu memoria altui proces. În exploit, overflow-ul este utilizat pentru a suprascrie conținutul "exec_map" al proceselor privilegiate care sunt rulate periodic în sistem. Ca proces similar a fost ales sshd, care, la fiecare stabilire a unei conexiuni de rețea, creează un nou proces "\/usr\/libexec\/sshd-session" cu drepturi root prin apelul fork și execve.

Exploit-ul introduce pentru acest proces variabila de mediu "LD_PRELOAD=\/tmp\/evil.so", care conduce la încărcarea în contextul sshd-session a bibliotecii proprii. Biblioteca introdusă creează în sistemul de fișiere un fișier executabil \/tmp\/rootsh cu flag-ul suid root. Probabilitatea de succes a overflow-ului este estimată la 0,6%, dar datorită repetării ciclice a încercărilor, exploatarea reușită se realizează aproximativ în 6 secunde pe un sistem cu CPU cu 4 nuclee.

Vulnerabilitate în apelul de sistem execve, oferind acces root în FreeBSD

În plus, în FreeBSD au fost remediate și alte câteva vulnerabilități:

  • CVE-2026-35547, CVE-2026-39457 — overflow de buffer în biblioteca libnv, utilizată în kernel și în aplicațiile din sistemul de bază pentru procesarea listelor în format cheie/valoare și pentru organizarea transferului de date în cadrul comunicării inter-proces. Prima problemă este cauzată de o calculare incorectă a dimensiunii mesajului atunci când se procesează anteturile IPC formate special. A doua problemă duce la overflow de stivă în timpul schimbului de date prin socket, din cauza lipsei verificării corespondenței dimensiunii descriptorului socket cu dimensiunea buffer-ului utilizat în funcția select(). Vulnerabilitățile pot fi exploatate pentru a crește privilegiile în sistem.
  • CVE-2026-42512 — overflow de buffer exploatabil de la distanță în dhclient, cauzat de calcularea incorectă a dimensiunii matricei de pointeri, utilizată pentru a transmite variabilele de mediu în dhclient-script. Nu este exclusă posibilitatea creării unui exploit pentru execuția de cod de la distanță prin trimiterea unui pachet DHCP format special.
  • CVE-2026-7164 — overflow de stivă în filtrul de pachete pf, care apare la procesarea pachetelor SCTP formatate special. Problema este cauzată de analiza recursivă nelimitată a parametrilor SCTP.
  • CVE-2026-42511 — posibilitatea substituției în dhclient.conf a directivelor arbitrare din cauza lipsei unei escapări adecvate a parantezelor duble în câmpurile BOOTP, obținute de la un server DHCP extern. La analiza ulterioară a acestui fișier de către procesul dhclient, câmpul specificat de atacator este transmis în dhclient-script, ceea ce poate fi folosit pentru a executa comenzi arbitrare cu privilegii root pe sistemele care utilizează dhclient, atunci când se interacționează cu un server DHCP controlat de atacator.
  • CVE-2026-6386 — lipsa unei gestionări adecvate a paginilor mari de memorie în funcția kernel pmap_pkru_update_range(). Un utilizator nesolicitat poate determina pmap_pkru_update_range() să gestioneze memoria din spațiul utilizatorului ca pe o pagină din tabela de pagini de memorie, obținând astfel o suprascriere a unei zone de memorie la care nu are acces.
  • CVE-2026-5398 — accesarea unei zone de memorie deja eliberate în handler-ul TIOCNOTTY, permțând unui proces fără privilegii să obțină drepturi root.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster