Python, vulnerabilità di 15 anni colpisce oltre 350 mila progetti

Una vulnerabilità che colpisce Python è presente da 15 anni, Trellix ha scoperto che riguarda oltre 350 mila repository open source.

Avatar di Marco Doria

a cura di Marco Doria

Esiste una vulnerabilità del linguaggio di programmazione Python segnalata nel 2007 e contrassegnata come CVE-2007-4559 che non ha mai ricevuto una patch, a parte un aggiornamento alla documentazione che avverte gli sviluppatori dei possibili rischi.

Tuttavia, la vulnerabilità, ormai presente da 15 anni, interessa oltre 350 mila repository open source, ed è un dato preoccupante, dato che permette l'esecuzione arbitraria di codice. In ogni caso, a oggi non risultano effettivi exploit di tale falla, sebbene il rischio rimanga presente.

Il problema riguarda il pacchetto tarfile, dove è presente del codice che utilizza la funzione tarfile.extract() senza sanitize, oppure i valori predefiniti integrati di tarfile.extractall(). Il bug è di tipo trasversale e riguarda i percorsi, di conseguenza permette a un malintenzionato di sovrascrivere file arbitrari.

Un ricercatore di Trellix si è imbattuto di recente in questa vulnerabilità, mentre stava analizzando un altro problema di sicurezza. Esaminandone l'impatto, Trellix ha scoperto che tale vulnerabilità è presente in migliaia di progetti software, open source e non.

Attraverso uno scraping di un gruppo di 257 repository, con verifica manuale di 175 di questi, i ricercatori hanno scoperto che il 61% risulta vulnerabile. Con ulteriori analisi, la percentuale è salita al 65%, dunque si tratta di un problema molto diffuso.

Partendo da questo dato, Trellix stima che esistono oltre 350 mila repository vulnerabili, molti dei quali usati da strumenti di apprendimento automatico, che aiutano gli sviluppatori ad accelerare la chiusura dei progetti.

Trellix ha creato delle patch per poco più di 11 mila progetti, prevedendo di arrivare fino a 70 mila entro le prossime settimane, tuttavia, è molto difficile che tutti i progetti interessati ricevano un intervento risolutivo, soprattutto perché occorre che i responsabili accettino le richieste di merge, un fatto decisamente non scontato.