
Prova de conceito demonstrando uma condição de corrida no pacote npm tar (v7.5.3) que causa colisões de arquivos durante a extração paralela, levando à corrupção ou sobrescrita de dados.
Prova de conceito para CVE-2026-23950 - Vulnerabilidade de condição de corrida no pacote tar.
Este repositório demonstra uma vulnerabilidade de condição de corrida no pacote npm tar (versão 7.5.3) que permite colisão de arquivos durante a extração. A vulnerabilidade explora diferenças de normalização Unicode onde collision_ss e collision_ß podem ser tratados como o mesmo arquivo devido a colisões que não diferenciam maiúsculas de minúsculas.
O exploit cria um arquivo tar com dois arquivos:
collision_ss - contendo 1000 caracteres 'A'collision_ß - contendo 1000 caracteres 'B'Quando extraído com processamento paralelo habilitado (jobs: 8), a condição de corrida pode fazer com que esses arquivos colidam, resultando em:
npm install
node index.js
Se a condição de corrida for explorada com sucesso:
[*] GOODSe a vulnerabilidade não for acionada:
[-] No collisionEsta vulnerabilidade pode levar a:
Atualize para uma versão corrigida do pacote tar quando disponível.
Este código é apenas para fins educacionais e de pesquisa. Não use este exploit para fins maliciosos.