Vulnerabilità nell'implementazione dei socket AF_PACKET del kernel Linux

Dopo tre anni dall'emergere di vulnerabilità (1, 2, 3, 4, 5) nel sottosistema AF_PACKET del kernel Linux è stata rilevata un altro problema (CVE-2020-14386), che consente a un utente locale non privilegiato di eseguire codice con diritti di root o di uscire da contenitori isolati, se dispone di accesso root al loro interno.

Per creare un socket AF_PACKET e sfruttare la vulnerabilità, sono necessari i diritti CAP_NET_RAW. Tuttavia, questo diritto può essere ottenuto da un utente non privilegiato nei contenitori creati in sistemi con il supporto attivato per gli spazi dei nomi degli utenti (user namespaces). Ad esempio, gli user namespaces sono abilitati per impostazione predefinita in Ubuntu e Fedora, ma non attivati in Debian e RHEL. In Android, il processo mediaserver ha il diritto di creare socket AF_PACKET, attraverso il quale la vulnerabilità può essere sfruttata.

La vulnerabilità è presente nella funzione tpacket_rcv ed è causata da un errore nel calcolo della variabile netoff. Un attaccante può creare condizioni in cui nella variabile netoff viene scritto un valore inferiore alla variabile maclen, il che causa un overflow nel calcolo di «macoff = netoff — maclen» e un'errata impostazione successiva del puntatore al buffer per i dati in ingresso. Di conseguenza, l'attaccante può innescare una scrittura da 1 a 10 byte nell'area al di fuori del buffer allocato. Si segnala che è in fase di sviluppo un exploit che consente di ottenere diritti root nel sistema.

Il problema è presente nel kernel dal luglio 2008, cioè si manifesta in tutti i kernel attuali. La correzione è attualmente disponibile come patch. È possibile monitorare l'apparizione degli aggiornamenti dei pacchetti nelle distribuzioni alle seguenti pagine: Ubuntu, Fedora, SUSE, Debian, RHEL, Arch.

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