Una vulnerabilità nel sottosistema eBPF consente l'esecuzione di codice a livello di kernel Linux

Nel sottosistema eBPF, che consente l'esecuzione di gestori all'interno del kernel Linux in una speciale macchina virtuale con JIT, è stata identificata una vulnerabilità (CVE-2021-4204) che consente a un utente locale non privilegiato di ottenere un'elevazione dei privilegi ed eseguire codice a livello di kernel Linux. Il problema si manifesta a partire dal kernel Linux 5.8 e rimane attualmente non corretto (che include anche il rilascio 5.16). È possibile seguire lo stato della preparazione degli aggiornamenti per la correzione del problema nelle distribuzioni alle seguenti pagine: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. È stata dichiarata la creazione di un exploit funzionale, che si prevede sarà pubblicato il 18 gennaio (agli utenti e agli sviluppatori è stata data una settimana per affrontare la vulnerabilità).

La vulnerabilità è causata da un controllo errato dei parametri inviati per l'esecuzione dei programmi eBPF. Il sottomodulo eBPF fornisce funzioni di supporto, la correttezza dell'utilizzo delle quali viene verificata da un verificatore dedicato. Alcune funzioni richiedono di passare un valore PTR_TO_MEM come argomento e, per prevenire possibili overflow di buffer, il verificatore deve conoscere la dimensione della memoria associata all'argomento. Per le funzioni bpf_ringbuf_submit e bpf_ringbuf_discard, le informazioni sulla dimensione della memoria passata non sono state comunicate al verificatore, il che avrebbe potuto essere sfruttato per sovrascrivere aree di memoria al di fuori del buffer durante l'esecuzione di codice eBPF appositamente formattato.

Per eseguire un attacco, l'utente deve avere la possibilità di caricare il proprio programma BPF, ma molte distribuzioni Linux recenti bloccano questa opzione per default (incluso l'accesso non privilegiato a eBPF, ora vietato in modo predefinito a partire dal kernel 5.16). Ad esempio, la vulnerabilità può essere sfruttata nella configurazione predefinita di Ubuntu 20.04 LTS, ma negli ambienti Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 e Fedora 33 si manifesta solo se l'amministratore imposta il parametro kernel.unprivileged_bpf_disabled su 0. Come soluzione per bloccare la vulnerabilità, è possibile vietare l'esecuzione di programmi BPF agli utenti non privilegiati con il comando «sysctl -w kernel.unprivileged_bpf_disabled=1».

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