Nell'aggiornamento rilasciato all'inizio di settembre, è stata identificata un'errata logica nella vulnerabilità della libreria libnv, che ha portato a una risoluzione inadeguata della vulnerabilità, lasciando il sistema esposto ad attacchi. La libreria libnv è sviluppata dal progetto FreeBSD e viene utilizzata nel kernel e nelle applicazioni del sistema base per la gestione di elenchi in formato chiave/valore e per organizzare la trasmissione dei dati durante l'interazione tra processi. La libreria si basa sull'algoritmo nvlist, utilizzato nel progetto OpenZFS, ma FreeBSD ha creato una propria implementazione, quindi la vulnerabilità non riguarda OpenZFS.
La vulnerabilità è causata da un overflow di interi, che porta a una allocazione di buffer più piccola rispetto al blocco di dati scritto nel buffer. L'errore commesso può essere potenzialmente sfruttato per elevare i propri privilegi sovrascrivendo le aree di memoria nel kernel e nei processi di sistema, ad esempio, libnv viene utilizzato in libcasper durante l'interazione tra codice privilegiato e non privilegiato. La correzione corretta della vulnerabilità (CVE-2024-45287) è stata proposta negli aggiornamenti 14.1-RELEASE-p5, 14.0-RELEASE-p11, 13.4-RELEASE-p1 e 13.3-RELEASE-p7, oltre che in forma di patch.
In FreeBSD è stata rimossa una vulnerabilità (CVE-2024-41721) nel hypervisor bhyve, che potrebbe consentire l'esecuzione di codice in un processo in esecuzione sul sistema host (solitamente con diritti di root, ma isolato in un sandbox basato su Capsicum), durante le manipolazioni all'interno del sistema guest. La vulnerabilità si trova nel codice per l'emulazione del controller USB XHCI ed è causata da un'inadeguata verifica dei limiti del buffer, che può portare alla lettura di dati da un'area al di fuori del buffer e potenzialmente alla scrittura in un'area di memoria arbitraria del processo. L'attacco può essere effettuato se è possibile avviare processi privilegiati nel sistema guest. La vulnerabilità è stata corretta negli aggiornamenti FreeBSD 14.1-RELEASE-p5, 14.0-RELEASE-p11, 13.4-RELEASE-p1 e 13.3-RELEASE-p7.
Inoltre, vale la pena segnalare la pubblicazione di prototipi di exploit e descrizioni dei metodi di sfruttamento per le vulnerabilità precedentemente identificate nel kernel Linux CVE-2024-26808 e CVE-2024-1085. I problemi sono stati risolti negli aggiornamenti del kernel 5.10.210, 5.15.149, 6.1.76, 6.6.15, 6.7.3 e 6.8, e sono già stati corretti nelle principali distribuzioni (Debian, Ubuntu, RHEL, SUSE, Fedora). Le vulnerabilità sono causate dall'accesso a un'area di memoria già liberata nelle funzioni nft_chain_filter e nft_setelem_catchall_deactivate nel sottosistema netfilter e consentono l'esecuzione di codice con privilegi di root. Per condurre un attacco è necessario avere accesso a nftables, che può essere ottenuto con i diritti CAP_NET_ADMIN in qualsiasi spazio dei nomi degli identificatori utente (user namespace) o spazio dei nomi di rete (network namespace), forniti, ad esempio, in contenitori isolati.
Le exploit sono stati preparati dai partecipanti all'iniziativa KernelCTF (Kernel Capture the Flag), nell'ambito della quale Google elargisce premi per la scoperta di vulnerabilità nel kernel Linux. Inizialmente, i problemi sono stati considerati come alcune delle molte potenziali vulnerabilità passeggere nel kernel - ad esempio, nell'aggiornamento di giugno del pacchetto del kernel 5.10 in Debian, oltre a CVE-2024-26808, sono state corrette altre 345 (!) potenziali vulnerabilità. Ogni settimana, nel kernel vengono scoperte diverse decine di nuove vulnerabilità che non erano precedentemente identificate come problemi di sicurezza (ad esempio, la scorsa settimana sono state segnalate 68 vulnerabilità).
Fonte: opennet.ru
