Il 30 giugno 2026 sono stati pubblicati avvisi riguardanti la correzione di 13 nuove vulnerabilità nel sistema operativo FreeBSD.
- CVE-2026-49418. Un utente con accesso a un dispositivo dotato di interfaccia memory-mapped può organizzare un double-free/use-after-free nel kernel. Questo potrebbe portare a un aumento dei privilegi.
- CVE-2026-49419. (solo FreeBSD 15+) Diminuzione doppia del refcount dell'attuale jail durante il trattamento di un errore relativo a un altro jail tramite jail descriptor (introdotto in FreeBSD 15), portando alla liberazione non pianificata della struttura di gestione del jail e successivi use-after-free ovunque venga utilizzata. Potenzialmente può portare a un aumento dei privilegi.
- CVE-2026-49415. Durante l'esecuzione di un programma setuid, i permessi di accesso alla sua memoria vengono impostati poco dopo che questa memoria è stata inizializzata, il che consente di accedervi e modificarla per un breve periodo, senza avere i privilegi necessari, tramite procfs o linprocfs. In molti sistemi, procfs, e tantomeno libprocfs, non vengono montati, quindi il problema probabilmente colpirà poche persone.
- CVE-2026-49429, CVE-2026-49430, CVE-2026-49431. (solo per sistemi con ZFS) I primi due errori sono legati all'allocazione di memoria di dimensioni errate: un buffer viene allocato con una dimensione passata come numero a 32 bit e successivamente vi vengono scritti dati di dimensioni reali, il che porta a un overflow se la dimensione reale del buffer supera i 4GB. Entrambi possono essere provocati solo da root o da un utente con privilegi esplicitamente aggiunti per operazioni vulnerabili. Il terzo errore è sfruttabile da chiunque, in quanto consente a chiunque di applicare al dataset il flag “$hasrecvd” utilizzando ZFS_IOC_SET_PROP (quanto sia pericoloso, dal comunicato non è chiaro).
- CVE-2026-49420. La mancanza di un'adeguata verifica delle dimensioni del pacchetto prima di scriverlo nel buffer a dimensione fissa nello stack nel modulo libalias di supporto RTSP consente la possibilità di sovraccaricare lo stack, sia a livello di kernel (per ipfw nat) che del processo natd (che di solito è in esecuzione come root), senza autorizzazione da remoto. Potenzialmente ciò può portare a RCE. Un host dannoso all'interno della rete locale dietro NAT, implementato tramite libalias e in grado di instradare pacchetti RTSP malevoli, può attivare la vulnerabilità. Pertanto, la vulnerabilità non interessa gli host su cui non è in esecuzione alcun NAT. Inoltre, natd non sarà vulnerabile se si rimuove la riga libalias_smedia.so da /etc/libalias.conf e si riavvia natd, mentre ipfw nat non sarà vulnerabile senza il caricamento del modulo alias_smedia.ko (non è specificato se può caricarlo automaticamente). Infine, il gestore vulnerabile monitora solo i pacchetti TCP/UDP in uscita che hanno una delle porte 554 o 7070: se si bloccano tali pacchetti prima che raggiungano il NAT, anche la vulnerabilità scomparirà.
- CVE-2026-49421. unlinkat() e funlinkat() non consideravano il flag AT_RESOLVE_BENEATH, che avrebbe dovuto vietare di oltrepassare la directory specificata dall'argomento dirfd durante l'attraversamento del percorso. Pertanto, era possibile eliminare file al di fuori della directory quando il codice chiamante voleva imporre tale restrizione.
- CVE-2026-49422. Race condition nel modulo tcp_rack.ko (per default non è caricato). A ciascun socket TCP può essere assegnato un TCP stack specifico, che può essere attivato e disattivato anche in tempo reale. Se si fa in questo modo: 1) su un socket con tcp_rack si chiama setsockopt() specifico per rack, 2) in un altro thread si riesce rapidamente a cambiare il stack TCP da rack a un altro e poi tornare su rack al momento giusto, il gestore setsockopt() per rack opererà con il vecchio (prima del cambio) indirizzo della struttura di stato del socket, portando a una corruzione di memoria e a un possibile aumento dei privilegi. Questo è applicabile solo a sistemi dove tcp_rack.ko è esplicitamente caricato; non è il comportamento predefinito.
- CVE-2026-49427, CVE-2026-49428. I largepage POSIX (shm_create_largepage) non erano allocati correttamente come utilizzati, il che potrebbe portare alla loro errata liberazione in diverse circostanze (si menzionano le chiamate di sendfile con il flag SF_NOCACHE, open con il flag O_TRUNC e fspacectl) e conseguente use-after-free con le normali conseguenze.
- CVE-2026-49426. Registri audit(4) errati riguardanti le chiamate di sistema rimosse tramite ptrace(PT_SC_REMOTE). Possono confondere i sistemi di analisi delle situazioni sospette, se utilizzati.
- CVE-2026-49423. Possibile kernel-panic durante la ricezione dei dati tramite kTLS con registri TLS 1.2 CBC. Per evitare il problema, è possibile impostare kern.ipc.tls.enable=0 o kern.ipc.tls.cbc_enable=0.
- CVE-2026-49424. Perdita di dati (104 byte) dallo stack del kernel durante la chiamata linux-compat waitid(), che dimentica di azzerare la parte non utilizzata della struttura linux siginfo_t durante il trasferimento dei dati da quella freebsd. Nelle normali kernel GENERIC, l'emulatore linux è disabilitato per impostazione predefinita e si attiva solo caricando manualmente il modulo.
- CVE-2026-49425. Analogamente a quanto precedentemente descritto, kevent a 32 bit non azzera la struttura a 32 bit prima di trasferire i dati dalla sua controparte a 64 bit, causando una perdita di dati dallo stack. Per impostazione predefinita, la compatibilità a 32 bit nel kernel è abilitata (non come modulo).
- CVE-2026-58081, CVE-2026-58082. Vulnerabilità in iconv. Prima: molti dei suoi moduli non controllano la dimensione del buffer di uscita fornito dal chiamante prima di scrivere il risultato in esso (sono menzionati HZ, UTF-7, VIQR, ZW). Seconda: il modulo ISO-2022 utilizza un buffer di 6 byte nello stack per operazioni interne, ma fino a 10 byte possono essere scritti, danneggiando lo stack. Di conseguenza, l'esecuzione di iconv per la conversione verso o da uno dei formati menzionati con dati di input non verificati può essere soggetta a overflow del buffer.
Fonte: linux.org.ru
