Vulnerabilità nel modulo Python TarFile, che consente la scrittura in qualsiasi parte del filesystem

Nel modulo tarfile fornito con Python, che offre funzioni per la lettura e la scrittura di archivi tar, sono state identificate cinque vulnerabilità, una delle quali ha ricevuto un livello di gravità critico. Le vulnerabilità sono state corrette nelle versioni Python 3.13.4 e 3.12.11. La vulnerabilità più pericolosa (CVE-2025-4517) consente di scrivere file in qualsiasi parte del filesystem durante l'estrazione di un archivio appositamente creato. Nello script di sistema che utilizza tarfile e viene eseguito con i diritti di root (ad esempio, in utilità per la gestione dei pacchetti e nei contenitori isolati), la vulnerabilità può essere sfruttata per ottenere privilegi elevati o per fuoriuscire dal contenitore isolato.

La vulnerabilità riguarda i progetti in cui il modulo tarfile è utilizzato per estrarre archivi tar non affidabili, utilizzando la funzione TarFile.extractall() o TarFile.extract() con l'argomento «filter=» impostato su «data» o «tar». La vulnerabilità è causata dall'elaborazione errata della sequenza «..» nel nome del link. Il problema interessa le versioni di Python a partire dalla 3.12. La modalità ‘filter=»data»‘ è applicata per impostazione predefinita nella branch di Python 3.14 attualmente in sviluppo (il rilascio è previsto per l'autunno).

Altre vulnerabilità in TarFile:

  • CVE-2025-4330 — possibilità di eludere il filtro dei dati estratti, il che potrebbe portare all'estrazione di un link simbolico dall'archivio che punta al di fuori della directory base in cui viene eseguita l'estrazione.
  • CVE-2025-4138 — possibilità di creare link simbolici arbitrari al di fuori della directory base durante l'estrazione di archivi con l'argomento ‘filter=»data»‘.
  • CVE-2024-12718 — possibilità di modificare i metadati (ad esempio, l'ora di modifica) di file al di fuori della directory base durante l'estrazione di archivi con l'argomento ‘filter=»data»‘ o di modificare i permessi di accesso (chmod) durante l'estrazione di archivi con l'argomento ‘filter=»tar»‘.
  • CVE-2025-4435 — se durante l'estrazione dell'archivio il parametro TarFile.errorlevel è impostato su 0, allora, contrariamente a quanto documentato, gli elementi dell'archivio che rientrano nel filtro specificato venivano estratti anziché ignorati.

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