Description
node-tar is a tar archive manipulation library for Node.js. Prior to 7.5.21, node-tar's filesFilter in src/list.ts uses the recursive mapHas helper to walk an archive entry path upward with path.dirname() and no segment cap when tar.t(...) or tar.x(...) receives a non-empty member-selection list. A crafted GNU L or PAX x long-path header with thousands of slash-separated segments reaches this.filter(entry.path, entry) in Parser[CONSUMEHEADER] in src/parse.ts before Unpack[CHECKPATH] applies maxDepth, causing an uncatchable RangeError stack overflow that terminates asynchronous and streaming Node.js consumers. This issue is fixed in version 7.5.21.
Mitigation
Minimal update. May introduce new vulnerabilities or breaking changes.
|
 npm | | | 7.5.21 |
 debian 11 | | =6.0.5+ds1+~cs11.3.9-1 || =6.0.5+ds1+~cs11.3.9-1+deb11u1 || =6.0.5+ds1+~cs11.3.9-1+deb11u2 || =6.0.5+ds1+~cs11.3.9-1+deb11u3 || =6.1.0+ds1+~cs11.3.9-1 || =6.1.11+ds1+~cs6.0.6-1 || =6.1.11+ds1+~cs6.0.6-2 || =6.1.11+~cs11.2.13-1~bpo11+1 || =6.1.11+~cs11.3.10-1 || =6.1.11+~cs11.3.10-1~bpo11+1 || =6.1.12+~cs6.1.5-1 || =6.1.13+~cs7.0.5-1 || =6.1.13+~cs7.0.5-2 || =6.1.13+~cs7.0.5-3 || =6.1.13+~cs7.0.5-4 || =6.1.7+~cs11.3.10-1 || =6.2.1+ds1+~cs6.1.13-1 || =6.2.1+ds1+~cs6.1.13-10 || =6.2.1+ds1+~cs6.1.13-11 || =6.2.1+ds1+~cs6.1.13-2 || =6.2.1+ds1+~cs6.1.13-3 || =6.2.1+ds1+~cs6.1.13-4 || =6.2.1+ds1+~cs6.1.13-5 || =6.2.1+ds1+~cs6.1.13-6 || =6.2.1+ds1+~cs6.1.13-7 || =6.2.1+ds1+~cs6.1.13-8 || =6.2.1+ds1+~cs6.1.13-9 || =6.2.1+~cs7.0.8-1 || =7.5.16+~4.0.1-1 || =7.5.16+~4.0.1-2 || =7.5.19+~4.0.1-1 || =7.5.19+~4.0.1-2 || =7.5.22+~4.0.1-1 | - |
 debian 12 | | =6.1.13+~cs7.0.5-1 || =6.1.13+~cs7.0.5-1+deb12u1 || =6.1.13+~cs7.0.5-2 || =6.1.13+~cs7.0.5-3 || =6.1.13+~cs7.0.5-4 || =6.2.1+ds1+~cs6.1.13-1 || =6.2.1+ds1+~cs6.1.13-10 || =6.2.1+ds1+~cs6.1.13-11 || =6.2.1+ds1+~cs6.1.13-2 || =6.2.1+ds1+~cs6.1.13-3 || =6.2.1+ds1+~cs6.1.13-4 || =6.2.1+ds1+~cs6.1.13-5 || =6.2.1+ds1+~cs6.1.13-6 || =6.2.1+ds1+~cs6.1.13-7 || =6.2.1+ds1+~cs6.1.13-8 || =6.2.1+ds1+~cs6.1.13-9 || =6.2.1+~cs7.0.8-1 || =7.5.16+~4.0.1-1 || =7.5.16+~4.0.1-2 || =7.5.19+~4.0.1-1 || =7.5.19+~4.0.1-2 || =7.5.22+~4.0.1-1 | - |
 debian 13 | | =6.2.1+ds1+~cs6.1.13-1 || =6.2.1+ds1+~cs6.1.13-10 || =6.2.1+ds1+~cs6.1.13-11 || =6.2.1+ds1+~cs6.1.13-2 || =6.2.1+ds1+~cs6.1.13-3 || =6.2.1+ds1+~cs6.1.13-4 || =6.2.1+ds1+~cs6.1.13-5 || =6.2.1+ds1+~cs6.1.13-6 || =6.2.1+ds1+~cs6.1.13-7 || =6.2.1+ds1+~cs6.1.13-8 || =6.2.1+ds1+~cs6.1.13-9 || =6.2.1+~cs7.0.8-1 || =6.2.1+~cs7.0.8-1+deb13u1 || =7.5.16+~4.0.1-1 || =7.5.16+~4.0.1-2 || =7.5.19+~4.0.1-1 || =7.5.19+~4.0.1-2 || =7.5.22+~4.0.1-1 | - |
 debian 14 | | =6.2.1+ds1+~cs6.1.13-1 || =6.2.1+ds1+~cs6.1.13-10 || =6.2.1+ds1+~cs6.1.13-11 || =6.2.1+ds1+~cs6.1.13-2 || =6.2.1+ds1+~cs6.1.13-3 || =6.2.1+ds1+~cs6.1.13-4 || =6.2.1+ds1+~cs6.1.13-5 || =6.2.1+ds1+~cs6.1.13-6 || =6.2.1+ds1+~cs6.1.13-7 || =6.2.1+ds1+~cs6.1.13-8 || =6.2.1+ds1+~cs6.1.13-9 || =6.2.1+~cs7.0.8-1 || =7.5.16+~4.0.1-1 || =7.5.16+~4.0.1-2 || =7.5.19+~4.0.1-1 || =7.5.19+~4.0.1-2 || >=0 <7.5.22+~4.0.1-1 | 7.5.22+~4.0.1-1 |
 rpm rhel8 | | - | - |
 rpm rhel10 | | - | - |
 rpm rhel8 | | - | - |
 rpm rhel9 | | - | - |
 rpm rhel8 | | - | - |