F10 extended-pax-size-before-gnu-longA pax size followed by a GNU long name: which of them does the size apply to?
Reject(draft) A strict parser must reject this archive.
F10-extended-pax-size-before-gnu-long.tar |
test archive, 4,096 bytes
sha256 400c7499baabca8c250839ab2e80a32003a983cdcb1be6eee1cd089d2fca3d02 |
F10-extended-pax-size-before-gnu-long.json | expected result |
F10-extended-pax-size-before-gnu-long.txt | annotated blocks |
F10-extended-pax-size-before-gnu-long.py | generator script |
The pax header has size=512 and is followed by a GNU long name header, then by the member. Neither POSIX nor GNU's format defines the two together. This case is ambiguous because the size applies either to the long name header, and smuggled is a member of its own, or to the member, whose data then takes in the header of smuggled, or to both, so that the member has that data and smuggled is a member as well. A reader that does not know GNU long names extracts the member as short-name. This is the bug class of GHSA-3pv8-6f4r-ffg2 (tar-rs) and CVE-2026-53655 (node-tar).
Decision point: which header a pax size applies to, when another extended header follows.
Seen in: none of the scanned tarballs.
Every block of 512 bytes, to scale, with its offset. Hover over a field for its bytes.
F10-extended-pax-size-before-gnu-long: must reject
A pax `size` followed by a GNU long name: which of them does the size apply to?
The pax header has `size=512` and is followed by a GNU long name header, then by the member.
Neither POSIX nor GNU's format defines the two together. This case is ambiguous because the size
applies either to the long name header, and `smuggled` is a member of its own, or to the member,
whose data then takes in the header of `smuggled`, or to both, so that the member has that data
and `smuggled` is a member as well. A reader that does not know GNU long names extracts the member
as `short-name`. This is the bug class of GHSA-3pv8-6f4r-ffg2 (tar-rs) and CVE-2026-53655
(node-tar).
Decision point: which header a pax size applies to, when another extended header follows.
Seen in: none of the scanned tarballs.
0x000000 header: pax extended header, size=512
name [ 0,100) "PaxHeader" + 91 NUL
mode [100,108) "0000644" + NUL 644 (octal)
uid [108,116) "0000000" + NUL 0
gid [116,124) "0000000" + NUL 0
size [124,136) "00000000014" + NUL 12
mtime [136,148) "00000000000" + NUL 0
chksum [148,156) "011074\0 " 4668: the unsigned sum of the header, this field as spaces
typeflag [156,157) "x" pax extended header
linkname [157,257) 100 NUL
magic [257,263) "ustar" + NUL
version [263,265) "00"
uname [265,297) 32 NUL
gname [297,329) 32 NUL
devmajor [329,337) "0000000" + NUL 0
devminor [337,345) "0000000" + NUL 0
prefix [345,500) 155 NUL
pad [500,512) 12 NUL
0x000200 data: pax records
12 bytes of pax records, then 500 NUL
"12 size=512\n"
0x000400 header: GNU long name, the name of the next member
name [ 0,100) "././@LongLink" + 87 NUL
mode [100,108) "0000644" + NUL 644 (octal)
uid [108,116) "0000000" + NUL 0
gid [116,124) "0000000" + NUL 0
size [124,136) "00000000012" + NUL 10
mtime [136,148) "00000000000" + NUL 0
chksum [148,156) "011224\0 " 4756: the unsigned sum of the header, this field as spaces
typeflag [156,157) "L" GNU long name
linkname [157,257) 100 NUL
magic [257,263) "ustar "
version [263,265) " " + NUL
uname [265,297) 32 NUL
gname [297,329) 32 NUL
devmajor [329,337) "0000000" + NUL 0
devminor [337,345) "0000000" + NUL 0
prefix [345,500) 155 NUL
pad [500,512) 12 NUL
0x000600 data: GNU long name
10 bytes: the name and a NUL, then 502 NUL
"long-name" + NUL
0x000800 header: regular file, size 0, but the pax size is 512
name [ 0,100) "short-name" + 90 NUL
mode [100,108) "0000644" + NUL 644 (octal)
uid [108,116) "0000000" + NUL 0
gid [116,124) "0000000" + NUL 0
size [124,136) "00000000000" + NUL 0
mtime [136,148) "00000000000" + NUL 0
chksum [148,156) "011173\0 " 4731: the unsigned sum of the header, this field as spaces
typeflag [156,157) "0" regular file
linkname [157,257) 100 NUL
magic [257,263) "ustar" + NUL
version [263,265) "00"
uname [265,297) 32 NUL
gname [297,329) 32 NUL
devmajor [329,337) "0000000" + NUL 0
devminor [337,345) "0000000" + NUL 0
prefix [345,500) 155 NUL
pad [500,512) 12 NUL
0x000a00 header: regular file, covered by the pax size, to some implementations
name [ 0,100) "smuggled" + 92 NUL
mode [100,108) "0000644" + NUL 644 (octal)
uid [108,116) "0000000" + NUL 0
gid [116,124) "0000000" + NUL 0
size [124,136) "00000000000" + NUL 0
mtime [136,148) "00000000000" + NUL 0
chksum [148,156) "010725\0 " 4565: the unsigned sum of the header, this field as spaces
typeflag [156,157) "0" regular file
linkname [157,257) 100 NUL
magic [257,263) "ustar" + NUL
version [263,265) "00"
uname [265,297) 32 NUL
gname [297,329) 32 NUL
devmajor [329,337) "0000000" + NUL 0
devminor [337,345) "0000000" + NUL 0
prefix [345,500) 155 NUL
pad [500,512) 12 NUL
0x000c00 2 zero blocks: the end-of-archive marker
0x001000 end of file
As xxd writes it: xxd -r makes the archive of it.
00000000: 5061 7848 6561 6465 7200 0000 0000 0000 PaxHeader....... 00000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000030: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000060: 0000 0000 3030 3030 3634 3400 3030 3030 ....0000644.0000 00000070: 3030 3000 3030 3030 3030 3000 3030 3030 000.0000000.0000 00000080: 3030 3030 3031 3400 3030 3030 3030 3030 0000014.00000000 00000090: 3030 3000 3031 3130 3734 0020 7800 0000 000.011074. x... 000000a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000000f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000100: 0075 7374 6172 0030 3000 0000 0000 0000 .ustar.00....... 00000110: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000120: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000130: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000140: 0000 0000 0000 0000 0030 3030 3030 3030 .........0000000 00000150: 0030 3030 3030 3030 0000 0000 0000 0000 .0000000........ 00000160: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000170: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000180: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000190: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000001f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000200: 3132 2073 697a 653d 3531 320a 0000 0000 12 size=512..... 00000210: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000220: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000230: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000240: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000250: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000260: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000270: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000280: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000290: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000002f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000300: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000310: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000320: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000330: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000340: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000350: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000360: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000370: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000380: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000390: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000003f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000400: 2e2f 2e2f 404c 6f6e 674c 696e 6b00 0000 ././@LongLink... 00000410: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000420: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000430: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000440: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000450: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000460: 0000 0000 3030 3030 3634 3400 3030 3030 ....0000644.0000 00000470: 3030 3000 3030 3030 3030 3000 3030 3030 000.0000000.0000 00000480: 3030 3030 3031 3200 3030 3030 3030 3030 0000012.00000000 00000490: 3030 3000 3031 3132 3234 0020 4c00 0000 000.011224. L... 000004a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000004b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000004c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000004d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000004e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000004f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000500: 0075 7374 6172 2020 0000 0000 0000 0000 .ustar ........ 00000510: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000520: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000530: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000540: 0000 0000 0000 0000 0030 3030 3030 3030 .........0000000 00000550: 0030 3030 3030 3030 0000 0000 0000 0000 .0000000........ 00000560: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000570: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000580: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000590: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000005a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000005b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000005c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000005d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000005e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000005f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000600: 6c6f 6e67 2d6e 616d 6500 0000 0000 0000 long-name....... 00000610: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000620: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000630: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000640: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000650: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000660: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000670: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000680: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000690: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000006a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000006b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000006c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000006d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000006e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000006f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000700: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000710: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000720: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000730: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000740: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000750: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000760: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000770: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000780: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000790: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000007a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000007b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000007c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000007d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000007e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000007f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000800: 7368 6f72 742d 6e61 6d65 0000 0000 0000 short-name...... 00000810: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000820: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000830: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000840: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000850: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000860: 0000 0000 3030 3030 3634 3400 3030 3030 ....0000644.0000 00000870: 3030 3000 3030 3030 3030 3000 3030 3030 000.0000000.0000 00000880: 3030 3030 3030 3000 3030 3030 3030 3030 0000000.00000000 00000890: 3030 3000 3031 3131 3733 0020 3000 0000 000.011173. 0... 000008a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000008b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000008c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000008d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000008e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000008f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000900: 0075 7374 6172 0030 3000 0000 0000 0000 .ustar.00....... 00000910: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000920: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000930: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000940: 0000 0000 0000 0000 0030 3030 3030 3030 .........0000000 00000950: 0030 3030 3030 3030 0000 0000 0000 0000 .0000000........ 00000960: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000970: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000980: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000990: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000009a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000009b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000009c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000009d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000009e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000009f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000a00: 736d 7567 676c 6564 0000 0000 0000 0000 smuggled........ 00000a10: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000a20: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000a30: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000a40: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000a50: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000a60: 0000 0000 3030 3030 3634 3400 3030 3030 ....0000644.0000 00000a70: 3030 3000 3030 3030 3030 3000 3030 3030 000.0000000.0000 00000a80: 3030 3030 3030 3000 3030 3030 3030 3030 0000000.00000000 00000a90: 3030 3000 3031 3037 3235 0020 3000 0000 000.010725. 0... 00000aa0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ab0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ac0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ad0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ae0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000af0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000b00: 0075 7374 6172 0030 3000 0000 0000 0000 .ustar.00....... 00000b10: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000b20: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000b30: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000b40: 0000 0000 0000 0000 0030 3030 3030 3030 .........0000000 00000b50: 0030 3030 3030 3030 0000 0000 0000 0000 .0000000........ 00000b60: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000b70: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000b80: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000b90: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ba0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000bb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000bc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000bd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000be0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000bf0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c00: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c10: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c20: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c30: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c40: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c50: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c60: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c70: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c80: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000c90: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ca0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000cb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000cc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000cd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ce0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000cf0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d00: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d10: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d20: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d30: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d40: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d50: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d60: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d70: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d80: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000d90: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000da0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000db0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000dc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000dd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000de0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000df0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e00: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e10: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e20: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e30: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e40: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e50: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e60: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e70: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e80: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000e90: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ea0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000eb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ec0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ed0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ee0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ef0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f00: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f10: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f20: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f30: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f40: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f50: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f60: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f70: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f80: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000f90: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000fa0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000fb0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000fc0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000fd0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000fe0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 00000ff0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
| implementation | version | outcome | what it makes of it |
|---|---|---|---|
| GNU tar | tar (GNU tar) 1.35 | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| bsdtar | bsdtar 3.8.10 - libarchive 3.8.10 | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| BusyBox tar | BusyBox v1.38.0, defconfig | ⚠️ accepts | tree B: long-name (0 B, e3b0c442), smuggled (0 B, e3b0c442) |
| 7-Zip | 7-Zip (z) 26.05 (x64) | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| Python tarfile, filter=data, as in pip | CPython 3.15.2 | ⚠️ accepts | tree C: long-name (512 B, 917dba8e), short-name (0 B, e3b0c442), smuggled (0 B, e3b0c442) |
| Python tarfile, filter=tar | CPython 3.15.2 | ⚠️ accepts | tree C: long-name (512 B, 917dba8e), short-name (0 B, e3b0c442), smuggled (0 B, e3b0c442) |
| Python tarfile, filter=fully_trusted | CPython 3.15.2 | ⚠️ accepts | tree C: long-name (512 B, 917dba8e), short-name (0 B, e3b0c442), smuggled (0 B, e3b0c442) |
| node-tar | tar 7.5.22 | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| node-tar, strict | tar 7.5.22 | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| tar-fs | tar-fs 3.1.3, on tar-stream 3.2.2 | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| Java Commons Compress | Commons Compress 1.28.0, Expander, on Java 27.0.1.0.2 | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| .NET System.Formats.Tar | System.Formats.Tar of .NET 10.0.14, ExtractToDirectory | ✅ as the verdict says | error: InvalidDataException: A metadata entry of type 'LongPath' was unexpectedly found after a metadata entry of type 'ExtendedAttributes'. |
| PHP PharData, as in Composer | PharData of PHP 8.5.12, as Composer's TarDownloader calls it | ⚠️ accepts | tree B: long-name (0 B, e3b0c442), smuggled (0 B, e3b0c442) |
| Go containerd archive.Apply | containerd v2.4.2, archive.Apply, of go1.27.3 | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| Rust tar | tar 0.4.46, unpack | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| Rust astral-tokio-tar | astral-tokio-tar 0.7.0, unpack | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| Rust tar-codec, as in uv | tar-codec 0.0.15, with the policies of uv 0.13 | ✅ as the verdict says | error: at byte 1024: archive format changed from Pax to Gnu |
| RubyGems | RubyGems 4.0.20 of Ruby 4.0.9, extract_tar_gz | ⚠️ accepts | tree D: short-name (0 B, e3b0c442), smuggled (0 B, e3b0c442) |
| R untar, internal | utils::untar of R 4.6.1, tar = "internal" | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| Perl Archive::Tar | Archive::Tar 3.12 of Perl v5.44.0 | ⚠️ accepts | tree B: long-name (0 B, e3b0c442), smuggled (0 B, e3b0c442) |
| Haskell tar | tar 0.7.2.0, extract, of GHC 9.14 | ⚠️ accepts | tree B: long-name (0 B, e3b0c442), smuggled (0 B, e3b0c442) |
| Julia Tar.jl | Tar 1.10.0 of Julia 1.13.3 | ⚠️ accepts | tree A: long-name (512 B, 917dba8e) |
| live-bootstrap untar | mescc-tools-extra a151c245e512, as live-bootstrap pins it, built with cc | ✅ as the verdict says | error: unable to create long symlink |
| live-bootstrap untar, --non-strict | mescc-tools-extra a151c245e512, as live-bootstrap pins it, built with cc | ✅ as the verdict says | error: non-strict mode enabled, preparing for chaos unable to create long symlink |
Release tarballs of Spack, nixpkgs, Guix and live-bootstrap, and samples of PyPI, crates.io and RubyGems with extended.pax-size-before-gnu-long.
| ecosystem | tarballs | with it | share |
|---|---|---|---|
| Spack | 37,553 | 0 | none |
| nixpkgs | 18,990 | 0 | none |
| Guix | 10,168 | 0 | none |
| PyPI | 10,000 | 0 | none |
| crates.io | 5,000 | 0 | none |
| RubyGems | 5,000 | 0 | none |
| live-bootstrap | 171 | 0 | none |
| total (distinct) | 82,586 | 0 | none |