Vulnerabilità in e2fsck, che si manifesta durante l'elaborazione di directory appositamente formattate

Nell'utilità e2fsck fornita con il pacchetto e2fsprogs, identificata vulnerabilità (CVE-2019-5188), che consente l'esecuzione di codice malevolo durante il controllo del file system contenente directory specificamente formattate. La vulnerabilità è confermata nelle versioni da 1.43.3 a 1.45.4. È stata corretta nell'aggiornamento e2fsck 1.45.5. Nei sistemi operativi la problematica rimane irrisolta (Debian, Arch Linux, SUSE/openSUSE, Ubuntu, RHEL).

La vulnerabilità è causata da un errore nella funzione mutate_name() nel file rehash.c, utilizzata durante la ricostruzione delle tabelle hash collegate alla directory, che permettono di mappare tutti i file presenti nella directory. La corruzione della struttura hash_entry associata alla directory può portare alla scrittura di dati dell'attaccante in un'area al di fuori del buffer allocato. Se viene identificato nella tabella hash un legame con la directory di più file con lo stesso nome, l'utilità e2fsck rinomina i file duplicati aggiungendo al nome ~0, ~1, ecc. Per memorizzare temporaneamente il nuovo nome durante questa rinominazione, nel stack viene allocato un buffer della dimensione di 256 byte.

La dimensione dei dati copiati è determinata dall'espressione «entry->name_len & 0xff», ma il valore entry->name_len è caricato dalla struttura su disco e non calcolato in base alla dimensione effettiva del nome. Se la dimensione è zero, l'indice dell'array assume il valore -1 e si creano condizioni per un overflow intero attraverso il limite inferiore del buffer (integer underflow) e la sovrascrittura di altri dati nello stack con il valore «~0». Per i sistemi a 64 bit, l'exploit della vulnerabilità è considerato poco probabile e richiede l'assenza di limitazioni sulla dimensione dello stack (ulimit -s unlimited). Per i sistemi a 32 bit, l'exploit è considerato possibile, ma il risultato dipende fortemente da come il file eseguibile è stato costruito dal compilatore.

Per eseguire un attacco, l'attaccante deve danneggiare i dati in modo specifico nella partizione con file system ext2, ext3 o ext4. Poiché questa operazione richiede privilegi di superutente, la vulnerabilità rappresenta una minaccia durante il controllo di dispositivi esterni o immagini di file system provenienti dall'esterno da parte dell'utilità e2fsck.

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