Il 20 maggio 2026, gli sviluppatori di FreeBSD hanno annunciato la correzione di sette nuove vulnerabilità nel sistema. Non tutte sono ugualmente pericolose, ma alcune sono estremamente gravi.
CVE-2026-45251 — use-after-free nelle syscalls simili a select, se nella loro lista di attesa ci sono descrittori di processi (in FreeBSD 15, ci sono anche nuovi descrittori di jail), e questi descrittori sono stati chiusi in un altro thread mentre la syscall in attesa era ancora attiva. Da quanto indicato in questo commit, sono coinvolti anche i descrittori associati a netmap (il driver per l'accesso diretto accelerato all'adattatore di rete), ma non ci sono informazioni ufficiali al riguardo. I descrittori di processo sono stati introdotti in FreeBSD 9, quindi la vulnerabilità esiste probabilmente da allora. Nella dichiarazione ufficiale si afferma che la vulnerabilità consente di ottenere privilegi di superutente. Non c'è modo di neutralizzarla senza una patch/aggiornamento.
CVE-2026-45250 — calcolo errato della dimensione del buffer e successiva scrittura oltre il buffer nello stack nella chiamata di sistema setcred; infatti, nonostante setcred richieda privilegi di root, la corruzione dello stack avviene prima che i privilegi vengano controllati e quindi è accessibile a tutti. Questa chiamata di sistema è apparsa in FreeBSD 14.3 (cioè le versioni precedenti non sono interessate) e fornisce un modo per impostare tutti gli identificatori utente e di gruppo del processo attuale con una sola chiamata, invece di combinazioni di setuid+setgid+setgroups e simili. La vulnerabilità consente di eseguire codice dannoso nel contesto del kernel. Non ci sono possibilità di neutralizzarla senza un patch/aggiornamento.
CVE-2026-45252 — mancanza di un controllo sulla presenza di uno zero finale prima di copiare una stringa ricevuta dal demone fuse in un nuovo buffer. Tuttavia, è presente un controllo sulla dimensione massima di copia, e non è possibile leggere più di 253 byte extra dalla memoria del kernel. Inoltre, è possibile scrivere fino a 250 byte nello "spazio heap del kernel non allocato". Di default, in FreeBSD è vietato il montaggio di file system da parte di utenti non root, il che significa che per iniettare un demone fuse malevolo nel kernel è necessario essere root. Tuttavia, se sysctl vfs.usermount=1, il sistema diventa vulnerabile anche per utenti normali. È importante considerare il rischio del demone fuse in un jail, dove può essere root (ma di default anche questo è vietato).
CVE-2026-45253 — l'uso di ptrace consentiva di avviare una chiamata di sistema in un processo in fase di debug con un numero errato, il che portava all'esecuzione di codice non previsto nel kernel come chiamata di sistema, con potenziali gravi conseguenze. Se è impostato security.bsd.unprivileged_proc_debug=0 (buona pratica per i server in ogni caso, e l'installatore di sistema offre anche questa opzione), i processi utente e jailed non potranno usare ptrace e così la vulnerabilità rimarrà accessibile solo all'utente root.
CVE-2026-45255 — iniezione di comandi shell con privilegi di root in bsdinstall/bsdconfig tramite i nomi di reti wireless dannose, che non erano schermati, durante la visualizzazione della loro lista. Per evitare questa vulnerabilità, è sufficiente non visualizzare la lista delle reti wireless da bsdinstall/bsdconfig.
CVE-2026-39461, CVE-2026-45254 — vulnerabilità nella libreria libcasper (non nel kernel). Questa libreria è progettata per fornire servizi in modo sicuro e configurabile ai processi inseriti in un ambiente sandbox. Una delle vulnerabilità riguarda un overflow del buffer nello stack e il danneggiamento dello stack tramite la gestione di file descriptor di grandi dimensioni in questa libreria (era prevista per numeri fino a 1024 — il limite predefinito delle strutture per la system call select). La seconda vulnerabilità è la possibilità di rimuovere le restrizioni applicate (l'ideologia della libreria prevede che le restrizioni imposte a un processo possano solo essere ampliate) cap_net.
Le versioni corrette del sistema hanno i numeri: 14.3-RELEASE-p14, 14.4-RELEASE-p5 e 15.0-RELEASE-p9. È inoltre importante notare un punto cruciale: il rilascio di FreeBSD 13.5 è stato recentemente ritirato dal supporto — il 30 aprile 2026, e non ci sono più correzioni ufficiali per essa (e per il ramo 13.x in generale). Tuttavia, se per qualche motivo non volete affrettare il passaggio alla versione 14.x, le patch per la versione 14.3 si adattano bene anche ai sorgenti della 13.5, mentre la CVE-2026-45250 non è rilevante per il ramo 13 a causa dell'assenza di setcred().
Fonte: linux.org.ru
