
Preuve de concept démontrant une condition de course dans le paquet npm tar (v7.5.3) provoquant des collisions de fichiers lors d'une extraction parallèle, entraînant une corruption ou un écrasement des données.
Preuve de concept pour CVE-2026-23950 - Vulnérabilité de condition de course dans le paquet tar.
Ce dépôt démontre une vulnérabilité de condition de course dans le paquet npm tar (version 7.5.3) qui permet une collision de fichiers lors de l'extraction. La vulnérabilité exploite les différences de normalisation Unicode où collision_ss et collision_ß peuvent être traités comme le même fichier en raison de collisions insensibles à la casse.
L'exploit crée une archive tar avec deux fichiers :
collision_ss - contenant 1000 caractères 'A'collision_ß - contenant 1000 caractères 'B'Lors de l'extraction avec le traitement parallèle activé (jobs: 8), la condition de course peut provoquer la collision de ces fichiers, entraînant :
npm install
node index.js
Si la condition de course est exploitée avec succès :
[*] GOODSi la vulnérabilité n'est pas déclenchée :
[-] No collisionCette vulnérabilité pourrait entraîner :
Mettez à jour vers une version corrigée du paquet tar lorsqu'elle sera disponible.
Ce code est destiné uniquement à des fins éducatives et de recherche. N'utilisez pas cet exploit à des fins malveillantes.