
Prova di concetto che dimostra una condizione di gara nel pacchetto npm tar (v7.5.3) che causa collisioni di file durante l'estrazione parallela, portando a corruzione o sovrascrittura dei dati.
Prova di concetto per CVE-2026-23950 - Vulnerabilità di race condition nel pacchetto tar.
Questa repository dimostra una vulnerabilità di race condition nel pacchetto npm tar (versione 7.5.3) che consente una collisione di file durante l'estrazione. La vulnerabilità sfrutta le differenze nella normalizzazione Unicode dove collision_ss e collision_ß possono essere trattati come lo stesso file a causa di collisioni senza distinzione tra maiuscole e minuscole.
L'exploit crea un archivio tar con due file:
collision_ss - contenente 1000 caratteri 'A'collision_ß - contenente 1000 caratteri 'B'Quando viene estratto con l'elaborazione parallela abilitata (jobs: 8), la race condition può causare la collisione di questi file, con il risultato di:
npm install
node index.js
Se la race condition viene sfruttata con successo:
[*] GOODSe la vulnerabilità non viene attivata:
[-] No collisionQuesta vulnerabilità potrebbe portare a:
Aggiornare a una versione corretta del pacchetto tar quando disponibile.
Questo codice è solo a scopo educativo e di ricerca. Non utilizzare questo exploit per scopi dannosi.