Vulnerabilità nella chiamata di sistema execve, che fornisce accesso root su FreeBSD

È stata scoperta una vulnerabilità in FreeBSD (CVE-2026-7270) che consente a un utente non privilegiato di eseguire codice con privilegi di kernel e ottenere accesso root al sistema. La vulnerabilità interessa tutte le versioni di FreeBSD rilasciate dal 2013. È stato pubblicato un exploit il cui funzionamento è stato verificato su sistemi da FreeBSD 11.0 a 14.4. La vulnerabilità è stata corretta negli aggiornamenti FreeBSD 15.0-RELEASE-p7, 14.4-RELEASE-p3, 14.3-RELEASE-p12 e 13.5-RELEASE-p13. Per le versioni più vecchie, è possibile utilizzare una patch.

Il problema è causato da un overflow del buffer nella chiamata di sistema execve, che si verifica durante l'elaborazione del prefisso specificato nella prima riga degli script per determinare il percorso dell'interprete (ad esempio, «#! /bin /sh»). L'overflow si verifica durante la chiamata alla funzione memmove a causa della formulazione errata di un'espressione matematica per calcolare la dimensione degli argomenti copiati nel buffer. Invece di sottrarre da «args->endp» i valori di «args->begin_argv» e «consume», da «args->endp» è stato sottratto solo il valore di «args->begin_argv», mentre la variabile consume è stata aggiunta al risultato anziché sottratta, quindi di conseguenza sono stati copiati più dati di due valori «consume». memmove(args->begin_argv + extend, args->begin_argv + consume, — args->endp — args->begin_argv + consume); + args->endp — (args->begin_argv + consume));

L'overflow consente di sovrascrivere gli elementi della struttura «exec_map» situati in un'area di memoria adiacente da un altro processo. Nell'exploit, l'overflow è utilizzato per sovrascrivere il contenuto di «exec_map» di processi privilegiati che vengono eseguiti periodicamente nel sistema. Come processo simile è stato scelto sshd, che ad ogni connessione di rete crea un fork e poi esegue il processo «/usr/libexec/sshd-session» con privilegi di root.

L'exploit inserisce per questo processo la variabile di ambiente «LD_PRELOAD=/tmp/evil.so», che porta al caricamento della propria libreria nel contesto di sshd-session. La libreria iniettata crea un file eseguibile nel filesystem in /tmp/rootsh con il flag suid root. La probabilità di un overflow riuscito è stimata al 0,6%, ma grazie ai tentativi ciclici, un exploit riuscito viene completato in circa 6 secondi su un sistema con CPU a 4 core.

Vulnerabilità nella chiamata di sistema execve, che fornisce accesso root su FreeBSD

Inoltre, sono state corrette altre vulnerabilità in FreeBSD:

  • CVE-2026-35547, CVE-2026-39457 — overflow del buffer nella libreria libnv, utilizzata nel kernel e nelle applicazioni del sistema di base per elaborare elenchi in formato chiave/valore e per organizzare il trasferimento di dati durante l'interazione tra processi. Il primo problema è causato da un calcolo errato della dimensione del messaggio durante l'elaborazione di intestazioni IPC formattate in modo specifico. Il secondo problema porta a un overflow dello stack durante lo scambio di dati tramite socket a causa della mancanza di verifica della corrispondenza tra la dimensione del descrittore del socket e la dimensione del buffer utilizzato nella funzione select(). Potenzialmente, le vulnerabilità possono essere sfruttate per aumentare i propri privilegi nel sistema.
  • CVE-2026-42512 — overflow del buffer sfruttabile da remoto in dhclient, causato da un calcolo errato della dimensione dell'array di puntatori utilizzato per passare le variabili di ambiente a dhclient-script. Non si esclude la possibilità di creare un exploit per l'esecuzione remota di codice tramite l'invio di un pacchetto DHCP formattato in modo specifico.
  • CVE-2026-7164 — overflow dello stack nel filtro pacchetti pf, che si verifica durante l'elaborazione di pacchetti SCTP formattati in modo specifico. Il problema è causato da un parsing ricorsivo illimitato dei parametri SCTP.
  • CVE-2026-42511 — possibilità di iniezione di direttive arbitrarie in dhclient.conf a causa della mancanza di corretta escape delle doppie parentesi nei campi BOOTP ricevuti da un server DHCP esterno. Durante il successivo parsing del file da parte del processo dhclient, il campo specificato dall'attaccante viene passato a dhclient-script, il che può essere utilizzato per eseguire comandi arbitrari con diritti di root su sistemi che utilizzano dhclient, quando si interagisce con un server DHCP controllato dall'attaccante.
  • CVE-2026-6386 — assenza di corretta gestione delle grandi pagine di memoria nella funzione del kernel pmap_pkru_update_range(). Un utente non privilegiato può indurre pmap_pkru_update_range() a trattare la memoria dallo spazio utente come una pagina nella tabella delle pagine di memoria, raggiungendo la riscrittura di un'area di memoria a cui non ha accesso.
  • CVE-2026-5398 — accesso a un'area di memoria già liberata nel gestore TIOCNOTTY, che consente a un processo non privilegiato di ottenere diritti di root.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster