CVE-2026-23950
node-tar tem Condição de Corrida em Reservas de Caminho via Colisões de Ligaduras Unicode no macOS APFS
- Publicado
- 20 de jan. de 2026
- Atualizado
- 1 de set. de 2026
- Atribuindo CNA
- GitHub_M
- Evidência observada
- 25 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:LBaixo · próximos 30 dias
- Percentil
- 17,7%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
# node-tar, um Tar para Node.js, tem uma vulnerabilidade de condição de corrida nas versões até e incluindo a 7.5.3. Isso se deve a um tratamento incompleto de colisões de caminhos Unicode no sistema `path-reservations`. Em sistemas de arquivos que não diferenciam maiúsculas de minúsculas ou que são insensíveis à normalização (como o APFS do macOS, no qual foi testado), a biblioteca falha ao bloquear caminhos conflitantes (por exemplo, `ß` e `ss`), permitindo que sejam processados em paralelo. Isso contorna as salvaguardas internas de concorrência da biblioteca e permite ataques de Symlink Poisoning por meio de condições de corrida. A biblioteca usa um sistema `PathReservations` para garantir que verificações de metadados e operações de arquivo para o mesmo caminho sejam serializadas. Isso evita condições de corrida em que uma entrada possa sobrescrever outra concorrentemente. Esta é uma Condição de Corrida que possibilita a Sobrescrita Arbitrária de Arquivos. Esta vulnerabilidade afeta usuários e sistemas que usam node-tar no macOS (APFS/HFS+). Devido ao uso da normalização Unicode `NFD` (na qual `ß` e `ss` são diferentes), caminhos conflitantes não têm sua ordem preservada adequadamente em sistemas de arquivos que ignoram a normalização Unicode (por exemplo, APFS (no qual `ß` causa uma colisão de inode com `ss`)). Isso permite que um atacante contorne os bloqueios internos de paralelização (`PathReservations`) usando nomes de arquivo conflitantes dentro de um arquivo tar malicioso. O patch na versão 7.5.4 atualiza `path-reservations.js` para usar uma forma de normalização que corresponde ao comportamento do sistema de arquivos de destino (por exemplo, `NFKD`), seguida primeiro por `toLocaleLowerCase('en')` e depois por `toLocaleUpperCase('en')`. Como medida alternativa, usuários que não podem atualizar imediatamente e que usam programaticamente `node-tar` para extrair dados arbitrários de tarballs devem filtrar todas as entradas `SymbolicLink` (como o npm faz) para se defender contra gravações arbitrárias de arquivos por meio desse problema de colisão de nomes de entradas do sistema de arquivos.
Fontes
1Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.