Ranljivost u sistemskom pozivu execve koja omogućava root pristup u FreeBSD

U FreeBSD je otkrivena ranjivost (CVE-2026-7270) koja omogućava neprivilegiranom korisniku izvršavanje koda s pravima jezgre i pristup root-u sustava. Ranjivost pogađa sve verzije FreeBSD koje su objavljene od 2013. godine. U javnosti je objavljen exploit čija je funkcionalnost testirana na sustavima s FreeBSD 11.0 do 14.4. Ranjivost je otklonjena u ažuriranjima FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 i 13.5-RELEASE-p13. Za starije verzije može se koristiti zakrpa.

Problem je uzrokovan preopterećenjem međuspremnika u sistemskom pozivu execve, koji se javlja pri obradi prefiksa navedenog u prvom redu skripti za određivanje puta do interpretera (npr., "#!\/bin\/sh"). Preopterećenje se događa prilikom poziva funkcije memmove zbog pogrešne konstrukcije matematičkog izraza za izračun veličine argumenta koje se kopira u međuspremnik. Umjesto da se oduzmu vrijednosti "args->endp" i "args->begin_argv" te "consume", od "args->endp" se oduzima samo vrijednost "args->begin_argv", dok se varijabla consume dodaje, a ne oduzima, tj. na kraju se kopira više podataka za dva "consume". memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));

Preopterećenje omogućava prepisivanje elemenata strukture "exec_map" koji se nalaze u susjednom području memorije od strane drugog procesa. U exploit-u se preopterećenje koristi za prepisivanje sadržaja "exec_map-a" privilegiranih procesa koji se povremeno pokreću u sustavu. Kao takav proces odabran je sshd, koji prilikom svake instalacije mrežne veze odcepljuje proces "\/usr\/libexec\/sshd-session" s root pravima putem poziva fork i execve.

Exploit postavlja varijablu okoline "LD_PRELOAD=\/tmp\/evil.so" za ovaj proces, što dovodi do učitavanja svoje biblioteke u kontekstu sshd-session. Postavljeni library stvara izvršnu datoteku \/tmp\/rootsh s oznakom suid root u datotečnom sustavu. Vjerojatnost uspješnog preopterećenja procjenjuje se na 0.6%, ali zahvaljujući cikličnom ponavljanju pokušaja, uspješna eksploatacija se postiže otprilike u 6 sekundi na sustavu s 4-jezgrenim CPU-om.

Ranljivost u sistemskom pozivu execve koja omogućava root pristup u FreeBSD

Osim toga, u FreeBSD je otklonjeno još nekoliko ranjivosti:

  • CVE-2026-35547, CVE-2026-39457 — prelivanje bafera u biblioteci libnv, koja se koristi u jezgru i u aplikacijama osnovnog sistema za obradu listi u formatu ključ/vrednost i za organizaciju prenosa podataka pri međuprocesnoj komunikaciji. Prvi problem uzrokovan je pogrešnim izračunavanjem veličine poruke prilikom obrade posebno oblikovanih zaglavlja IPC-poruka. Drugi problem dovodi do prelivanja steka prilikom razmene podataka putem soketa zbog nedostatka provere usklađenosti veličine deskriptora soketa sa veličinom bafera koji se koristi u funkciji select(). Potezno ranjivosti mogu se koristiti za povećanje svojih privilegija u sistemu.
  • CVE-2026-42512 — udaljeno iskorišćivo prelivanje bafera u dhclient-u, koje se javlja zbog netačnog izračunavanja veličine niza pokazivača, koji se koristi za prenos promenljivih okruženja u dhclient-script. Ne isključuje se mogućnost kreiranja eksploita za udaljeno izvršavanje koda slanjem posebno oblikovanog DHCP-paketa.
  • CVE-2026-7164 — prelivanje steka u paketnom filteru pf, koje se javlja prilikom obrade posebno oblikovanih SCTP paketa. Problem je uzrokovan neograničenim rekurzivnim analiziranjem parametara SCTP.
  • CVE-2026-42511 — mogućnost zamene u dhclient.conf nasumičnim direktivama zbog nedostatka odgovarajućeg eskapiranja dvostrukih zagrada u BOOTP poljima, dobijenim od spoljašnjeg DHCP servera. Prilikom kasnijeg razmatranja ovog fajla od strane procesa dhclient, navedeno polje od strane napadača se prosleđuje u dhclient-script, što može da se iskoristi za izvršenje proizvoljnih komandi sa root pravima na sistemima koji koriste dhclient, prilikom pristupa napadačkom DHCP serveru.
  • CVE-2026-6386 — nedostatak adekvatne obrade velikih stranica memorije u funkciji jezgra pmap_pkru_update_range(). Neprivilegovani korisnik može naterati pmap_pkru_update_range() da obradi memoriju iz korisničkog prostora kao stranicu u tabeli stranica memorije, i postigne prepisivanje područja memorije kojem nema pristup.
  • CVE-2026-5398 — pristup već oslobođenoj oblasti memorije u handler-u TIOCNOTTY, što omogućava neprivilegovanom procesu da dobije root prava.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster