Im npm-Paket tar (node-tar) wurde eine sicherheitsrelevante Race-Condition-Schwachstelle entdeckt, die speziell macOS-Systeme mit APFS- oder HFS+-Dateisystemen betrifft. Die Lücke ist als GHSA-r6q2-hw4h-h46w veröffentlicht und betrifft alle Versionen bis einschließlich 7.5.3. Version 7.5.4 schließt das Problem.
Ursache ist eine fehlerhafte Behandlung von Unicode-Pfadnormalisierung im sogenannten Path-Reservations-Mechanismus. Dieser soll eigentlich sicherstellen, dass Dateioperationen auf identischen Pfaden serialisiert werden. Auf macOS-Dateisystemen, die Unicode-Normalisierung und Groß-/Kleinschreibung teilweise ignorieren, können jedoch kollidierende Pfade wie „ß“ und „ss“ auf denselben Inode abgebildet werden, ohne dass node-tar diese Kollision korrekt erkennt.
Dadurch ist es möglich, dass mehrere Archiveinträge mit kollidierenden Dateinamen parallel verarbeitet werden. Angreifer können dies ausnutzen, um interne Sperrmechanismen zu umgehen und Race Conditions zu erzeugen, die unter anderem Symlink-Poisoning und das Überschreiben beliebiger Dateien erlauben. Voraussetzung ist das Entpacken eines präparierten TAR-Archivs, etwa aus einer externen oder nicht vertrauenswürdigen Quelle.
Das Risiko betrifft insbesondere Anwendungen, Build-Prozesse oder Entwickler-Tools, die node-tar programmgesteuert auf macOS einsetzen. Andere Plattformen sind weniger stark betroffen, da das Verhalten von Unicode-Normalisierung dort abweicht.
Als Gegenmaßnahme wird dringend empfohlen, auf node-tar 7.5.4 zu aktualisieren. Nutzer, die kurzfristig nicht upgraden können, sollten beim Entpacken externer Archive symbolische Links konsequent herausfiltern, um Arbitrary-File-Overwrite-Angriffe über Namenskollisionen zu verhindern.




