Executive brief
The node-tar library, a widely used tool for handling tar archives in the Node.js ecosystem, contains a vulnerability that allows for 'file smuggling.' By crafting a malicious archive, an attacker can cause node-tar to see a different set of files than other standard tools. This can be used to bypass security scanners, where a malicious file is hidden from a scanner but still extracted and executed by the final system.
Technical details
A vulnerability exists in node-tar prior to version 7.5.16 where the parser applies PAX extended header overrides (such as 'size') to the immediate next header regardless of its type. According to POSIX pax standards, these overrides should only apply to the next file entry, not intermediary metadata headers like GNU long-name (L) or long-link (K) entries. By setting a PAX size override before a metadata header, an attacker can desynchronize node-tar's stream cursor. This results in a 'parser interpretation differential' (CWE-436) where node-tar and other mainstream parsers (like GNU tar or libarchive) disagree on the archive's contents, allowing files to be hidden from security tooling that relies on node-tar for inspection.
Affected products
- isaacs tar (node-tar) < 7.5.16
Timeline
- 2026-06-01: advisory: GitHub Security Advisory published
- 2026-06-22: disclosed: CVE-2026-53655 published to NVD
- 2026-06-22: patched: Fixed in version 7.5.16