CVE-2026-23950
node-tar weist eine Race Condition bei Pfadreservierungen durch Unicode-Ligatur-Kollisionen auf macOS APFS auf
- Veröffentlicht
- 20.01.2026
- Aktualisiert
- 01.09.2026
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 25.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:H/A:LNiedrig · nächste 30 Tage
- Perzentil
- 17,7 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
# node-tar, ein Tar für Node.js, weist eine Race-Condition-Schwachstelle in Versionen bis einschließlich 7.5.3 auf Diese ist auf eine unvollständige Behandlung von Unicode-Pfadkollisionen im `path-reservations`-System zurückzuführen. Auf Dateisystemen, die Groß-/Kleinschreibung oder Normalisierung nicht berücksichtigen (wie macOS APFS, auf dem dies getestet wurde), gelingt es der Bibliothek nicht, kollidierende Pfade (z. B. `ß` und `ss`) zu sperren, sodass diese parallel verarbeitet werden können. Dies umgeht die internen Nebenläufigkeitsschutzmechanismen der Bibliothek und ermöglicht Symlink-Poisoning-Angriffe über Race Conditions. Die Bibliothek verwendet ein `PathReservations`-System, um sicherzustellen, dass Metadatenprüfungen und Dateioperationen für denselben Pfad serialisiert werden. Dies verhindert Race Conditions, bei denen ein Eintrag einen anderen gleichzeitig überschreiben könnte. Es handelt sich um eine Race Condition, die ein beliebiges Überschreiben von Dateien (Arbitrary File Overwrite) ermöglicht. Diese Schwachstelle betrifft Benutzer und Systeme, die node-tar auf macOS (APFS/HFS+) verwenden. Aufgrund der Verwendung der `NFD`-Unicode-Normalisierung (bei der `ß` und `ss` unterschiedlich sind), wird bei Dateisystemen, die die Unicode-Normalisierung ignorieren (z. B. APFS, bei dem `ß` eine Inode-Kollision mit `ss` verursacht), die Reihenfolge kollidierender Pfade nicht ordnungsgemäß beibehalten. Dies ermöglicht es einem Angreifer, die internen Parallelisierungssperren (`PathReservations`) mithilfe kollidierender Dateinamen innerhalb eines bösartigen Tar-Archivs zu umgehen. Der Patch in Version 7.5.4 aktualisiert `path-reservations.js`, um eine Normalisierungsform zu verwenden, die dem Verhalten des Ziel-Dateisystems entspricht (z. B. `NFKD`), gefolgt von zuerst `toLocaleLowerCase('en')` und dann `toLocaleUpperCase('en')`. Als Workaround sollten Benutzer, die nicht umgehend aktualisieren können und node-tar programmatisch zum Extrahieren beliebiger Tarball-Daten verwenden, alle `SymbolicLink`-Einträge herausfiltern (wie es npm tut), um sich gegen beliebige Dateischreibvorgänge über dieses Problem der Dateisystemeintrags-Namenskollision zu verteidigen.
Quellen
1Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.