Una vulnerabilità di sicurezza Python piuttosto vecchia senza patch è riemersa, spingendo i ricercatori ad avvertire che centinaia di migliaia di progetti potrebbero essere vulnerabili all'esecuzione di codice.

I ricercatori della sicurezza informatica di Trellix hanno recentemente rilevato (si apre in una nuova scheda) CVE-2007-4559, un difetto nel pacchetto tarfile di Python, scoperto per la prima volta nel 2007.

Tuttavia, all'epoca, la falla non ha mai ricevuto una patch, ma piuttosto un avviso pubblicato in un bollettino di sicurezza.

Identifica i progetti vulnerabili

La vulnerabilità è nel codice che utilizza la funzione tarfile.extract() senza disinfettare o le impostazioni predefinite integrate di tarfileextractall(). "Questo è un bug di attraversamento del percorso che consente a un utente malintenzionato di sovrascrivere file arbitrari", ha scritto il post.

Ora, dicono i ricercatori, il difetto dà a un cattivo attore l'accesso al file system. Il bug tracker di Python è stato aggiornato con l'annuncio di un problema risolto, con un'ulteriore aggiunta che afferma che "potrebbe essere pericoloso estrarre file da fonti non attendibili". Il difetto può essere abusato sia su Windows che su Linux, è stato detto.

Quindici anni sono tanti e, a quanto pare, circa 350.000 progetti potrebbero essere vulnerabili. I ricercatori di Trellix hanno prima campionato 257 (61%) repository vulnerabili. Un'analisi automatizzata ha mostrato un tasso positivo del 65%.

Quindi, utilizzando GitHub, i ricercatori di Trellix hanno trovato 588 repository univoci che includono "import tar file" nel loro codice Python, portandoli a concludere che 840 (o circa il 350%) potrebbero essere vulnerabili.

Il problema è presente in un "numero enorme" di industrie, hanno inoltre scoperto i ricercatori. Il settore dello sviluppo (si apre in una nuova scheda) è, ovviamente, il più colpito, seguito dal web e dalle tecnologie di machine learning.

I ricercatori di Trellix hanno rilasciato patch per circa 11.000 progetti, disponibili come fork del repository interessato. Queste correzioni verranno aggiunte al progetto principale tramite una richiesta pull in una data successiva, aggiunta. Si prevede che altri 70.000 progetti riceveranno le patch entro poche settimane, ma la correzione di tutti richiederà del tempo.

Condividi questo