<feed xmlns='http://www.w3.org/2005/Atom'>
<title>busybox-w32/archival/libarchive, branch long_paths</title>
<subtitle>A mirror of https://github.com/rmyorston/busybox-w32.git
</subtitle>
<id>https://git.lua4.win/busybox-w32/atom?h=long_paths</id>
<link rel='self' href='https://git.lua4.win/busybox-w32/atom?h=long_paths'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/'/>
<updated>2026-02-12T12:58:38+00:00</updated>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2026-02-12T12:58:38+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-02-12T12:50:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=de7b34e8c779d8baca5abba1394284e0b6e87dc6'/>
<id>urn:sha1:de7b34e8c779d8baca5abba1394284e0b6e87dc6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2026-02-10T13:49:25+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2026-02-10T13:49:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=0e3015ddb8538f6329c59ed984a9c59bba3f376e'/>
<id>urn:sha1:0e3015ddb8538f6329c59ed984a9c59bba3f376e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>*: whitespace cleanup</title>
<updated>2026-02-08T07:31:13+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2026-02-07T20:17:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=391fdea73b73673410c5e267ec08efd45b3f38ee'/>
<id>urn:sha1:391fdea73b73673410c5e267ec08efd45b3f38ee</id>
<content type='text'>
Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tar: strip unsafe hardlink components - GNU tar does the same</title>
<updated>2026-01-29T11:01:56+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2026-01-29T10:48:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=3fb6b31c716669e12f75a2accd31bb7685b1a1cb'/>
<id>urn:sha1:3fb6b31c716669e12f75a2accd31bb7685b1a1cb</id>
<content type='text'>
Defends against files like these (python reproducer):

import tarfile
ti = tarfile.TarInfo("leak_hosts")
ti.type = tarfile.LNKTYPE
ti.linkname = "/etc/hosts"  # or "../etc/hosts" or ".."
ti.size = 0
with tarfile.open("/tmp/hardlink.tar", "w") as t:
	t.addfile(ti)

function                                             old     new   delta
skip_unsafe_prefix                                     -     127    +127
get_header_tar                                      1752    1754      +2
.rodata                                           106861  106856      -5
unzip_main                                          2715    2706      -9
strip_unsafe_prefix                                  102      18     -84
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/3 up/down: 129/-98)            Total: 31 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2025-10-06T06:53:56+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2025-10-06T06:53:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=3b6192619de7b98db5155dbcfe4038355d97cdac'/>
<id>urn:sha1:3b6192619de7b98db5155dbcfe4038355d97cdac</id>
<content type='text'>
</content>
</entry>
<entry>
<title>archival/libarchive: sanitize filenames on output (prevent control sequence attacks</title>
<updated>2025-09-24T01:30:12+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2025-09-24T01:28:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=f5e1bf966b19ea1821f00a8c9ecd7774598689b4'/>
<id>urn:sha1:f5e1bf966b19ea1821f00a8c9ecd7774598689b4</id>
<content type='text'>
This fixes CVE-2025-46394 (terminal escape sequence injection)

Original credit: Ian.Norton at entrust.com

function                                             old     new   delta
header_list                                            9      15      +6
header_verbose_list                                  239     244      +5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 11/0)               Total: 11 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'busybox' into merge</title>
<updated>2025-05-19T07:34:32+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2025-05-19T07:34:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=64bf69893bd99c305d13a956389f216e7d15c682'/>
<id>urn:sha1:64bf69893bd99c305d13a956389f216e7d15c682</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libbb/archival: make setup_unzip_on_fd() return bytes read if not compressed</title>
<updated>2025-04-20T21:49:33+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2025-04-20T21:43:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=c61fdadf974205104f6690ad360117bdf86f0ba6'/>
<id>urn:sha1:c61fdadf974205104f6690ad360117bdf86f0ba6</id>
<content type='text'>
setup_unzip_on_fd() does not return the transformer structure, so the user
does not know how much to seek back (or alternatively what the signature was)
when compressor signature is not detected.

Currently not needed (the only user is tar which dies anyway).
However, rpm2cpio may need this if we extend it to extract the internal .cpio
even if cpio's compressions algo is not known.

function                                             old     new   delta
setup_unzip_on_fd                                     53      59      +6

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>archival: disallow path traversals (CVE-2023-39810)</title>
<updated>2025-04-16T01:03:17+00:00</updated>
<author>
<name>Denys Vlasenko</name>
<email>vda.linux@googlemail.com</email>
</author>
<published>2024-10-02T08:12:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=9a8796436b9b0641e13480811902ea2ac57881d3'/>
<id>urn:sha1:9a8796436b9b0641e13480811902ea2ac57881d3</id>
<content type='text'>
Create new configure option for archival/libarchive based extractions to
disallow path traversals.
As this is a paranoid option and might introduce backward
incompatibility, default it to no.

Fixes: CVE-2023-39810

Based on the patch by Peter Kaestle &lt;peter.kaestle@nokia.com&gt;

function                                             old     new   delta
data_extract_all                                     921     945     +24
strip_unsafe_prefix                                  101     102      +1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 25/0)               Total: 25 bytes

Signed-off-by: Denys Vlasenko &lt;vda.linux@googlemail.com&gt;
</content>
</entry>
<entry>
<title>tar: try harder to detect old tar files</title>
<updated>2024-11-08T13:08:47+00:00</updated>
<author>
<name>Ron Yorston</name>
<email>rmy@pobox.com</email>
</author>
<published>2024-11-08T12:48:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/busybox-w32/commit/?id=0e958a72e1780138e68c799792190085cf505ee7'/>
<id>urn:sha1:0e958a72e1780138e68c799792190085cf505ee7</id>
<content type='text'>
The code to autodetect compressed tar files failed to detect a
bunzip2-compressed archive.  When tar was invoked with the 'j'
option it worked fine.

The autodetection code looks for the magic string 'ustar' or a
series of five NULs to determine that an archive is uncompressed.
The failing archives had more than five NULs in the header and
were taken to be uncompressed.

Look for a longer run of NULs: 16 is certainly sufficient for the
archives in question.

Adds 8-16 bytes.

(GitHub issue #475)
</content>
</entry>
</feed>
