CVE-2026-23950
node-tar presenta una Condizione di Gara nelle Prenotazioni dei Percorsi tramite Collisioni di Legature Unicode su macOS APFS
- Pubblicato
- 20 gen 2026
- Aggiornato
- 1 set 2026
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 25 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:LBasso · prossimi 30 giorni
- Percentile
- 17,7%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
# node-tar, un Tar per Node.js, presenta una vulnerabilità di race condition nelle versioni fino alla 7.5.3 inclusa. Ciò è dovuto a una gestione incompleta delle collisioni di percorsi Unicode nel sistema `path-reservations`. Su filesystem che non fanno distinzione tra maiuscole e minuscole o che ignorano la normalizzazione (come macOS APFS, sul quale è stato testato), la libreria non riesce a bloccare i percorsi in collisione (ad es., `ß` e `ss`), consentendone l'elaborazione in parallelo. Questo bypassa le salvaguardie interne di concorrenza della libreria e permette attacchi di Symlink Poisoning tramite race condition. La libreria utilizza un sistema `PathReservations` per garantire che i controlli dei metadati e le operazioni sui file per lo stesso percorso siano serializzati. Ciò previene race condition in cui una voce potrebbe sovrascriverne un'altra contemporaneamente. Si tratta di una Race Condition che abilita l'Arbitrary File Overwrite. Questa vulnerabilità colpisce gli utenti e i sistemi che utilizzano node-tar su macOS (APFS/HFS+). A causa dell'uso della normalizzazione Unicode `NFD` (in cui `ß` e `ss` sono diversi), i percorsi in conflitto non mantengono correttamente il loro ordine su filesystem che ignorano la normalizzazione Unicode (ad es., APFS, in cui `ß` causa una collisione di inode con `ss`). Ciò consente a un attaccante di aggirare i blocchi di parallelizzazione interni (`PathReservations`) utilizzando nomi di file in conflitto all'interno di un archivio tar dannoso. La patch nella versione 7.5.4 aggiorna `path-reservations.js` per utilizzare una forma di normalizzazione che corrisponde al comportamento del filesystem di destinazione (ad es., `NFKD`), seguita prima da `toLocaleLowerCase('en')` e poi da `toLocaleUpperCase('en')`. Come workaround, gli utenti che non possono aggiornare tempestivamente e che utilizzano programmaticamente `node-tar` per estrarre dati tarball arbitrari dovrebbero filtrare tutte le voci `SymbolicLink` (come fa npm) per difendersi da scritture arbitrarie di file tramite questo problema di collisione dei nomi delle voci del filesystem.
Fonti
1Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.