mirror of
https://git.tukaani.org/xz.git
synced 2026-10-31 03:14:56 +00:00
Add NEWS for 5.8.4
This commit is contained in:
parent
0d30919e73
commit
44a7fbdbe4
139
NEWS
139
NEWS
@ -2,6 +2,145 @@
|
||||
XZ Utils Release Notes
|
||||
======================
|
||||
|
||||
5.8.4 (2026-09-09)
|
||||
|
||||
IMPORTANT: This includes a fix for a security issue that affects all
|
||||
XZ Utils versions since 5.0.0. This and a few other fixes have also
|
||||
been committed to the old stable branches (v5.2, v5.4, and v5.6) in
|
||||
the xz Git repository. Those fixes are marked below. No new 5.2.x,
|
||||
5.4.x, or 5.6.x releases will be made.
|
||||
|
||||
* liblzma:
|
||||
|
||||
- lzma_alone_decoder(), lzma_lzip_decoder(),
|
||||
lzma_auto_decoder(), and lzma_microlzma_decoder(): Fix an
|
||||
invalid memory access after memory allocation has failed and
|
||||
the application reinitializes the existing decoder to decode
|
||||
a different file. This bug could at least result in a crash.
|
||||
This is tracked as GHSA-5qpq-xqfv-j9pg. CVE number is pending.
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
- lzma_stream_buffer_decode(): Fix wrong error code and,
|
||||
in debug builds, assertion failure. LZMA_BUF_ERROR could
|
||||
be returned with truncated inputs while LZMA_DATA_ERROR
|
||||
is the correct one in this function.
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
- Fix a performance issue in the typical use case of
|
||||
lzma_index_cat(). Internally liblzma calls it from
|
||||
lzma_file_info_decoder(), so that was affected too. The
|
||||
problem occurred if the input .xz file was created by
|
||||
concatenating a large number of .xz files. A crafted file
|
||||
could make "xz --list" very slow or effectively hang.
|
||||
Normal decompression doesn't use these functions and
|
||||
thus wasn't affected.
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
- Fix a theoretical integer overflow in lzma_index_cat().
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
- Fix bogus memory usage report in lzma_index_decoder() when
|
||||
the .xz Index is obviously invalid. A huge bogus value could
|
||||
cause an integer overflow in lzma_file_info_decoder()'s
|
||||
memory usage reporting due to a missing overflow check,
|
||||
making lzma_memused() report an incorrect tiny value. This
|
||||
bug didn't affect the memory usage limiter in these two
|
||||
decoders; only the reporting via lzma_memused() was affected.
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
- Fix a too low memory usage report in lzma_index_decoder()
|
||||
if lzma_memused() is called after a part of the Index has
|
||||
already been decoded. The typical use case is to call
|
||||
lzma_memused() immediately after LZMA_MEMLIMIT_ERROR,
|
||||
which did work correctly.
|
||||
|
||||
- Fix copying of check type in lzma_index_dup(). Calling
|
||||
lzma_index_checks() on the duplicated lzma_index returned
|
||||
return garbage a result. lzma_index_dup() is rarely used;
|
||||
liblzma doesn't use it internally and xz itself doesn't use
|
||||
it either.
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
- lzma_file_info_decoder() and lzma_index_decoder(): Reject
|
||||
an obviously-invalid Number of Records field earlier.
|
||||
(Partially also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
- Fix a missing synchronization in the threaded .xz decoder. It
|
||||
could make lzma_get_progress() return incorrect progress info.
|
||||
(Also in v5.4 and v5.6.)
|
||||
|
||||
- Detect certain kinds of corrupt inputs slightly earlier in
|
||||
the LZMA2 decoder.
|
||||
|
||||
- ARM64 and LoongArch: Don't use aligned reads on unaligned
|
||||
buffers. This makes the code work on strict-align processors
|
||||
and fixes a sanitizer error in other cases. (Since 5.7.1alpha)
|
||||
|
||||
* xz:
|
||||
|
||||
- Fix a use-after-free when showing an error message if --files
|
||||
or --files0 was specified in the environment variables XZ_OPT
|
||||
or XZ_DEFAULTS.
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
- Fix a use-after-free bug when --verbose is used and
|
||||
standard error isn't a terminal. (Since 5.7.1alpha)
|
||||
|
||||
- Make it an error if the totals in "xz --list" exceed the range
|
||||
of 64-bit integers.
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
* xz and xzdec on Linux:
|
||||
|
||||
- Add support for Landlock ABI version 9.
|
||||
|
||||
- Use fallback macros for Landlock ABI version 2, 3, and 5
|
||||
(but not 4) if <linux/landlock.h> is older than ABI version 5.
|
||||
This makes the binary slightly more protected if it is run on
|
||||
a kernel that supports newer ABIs than <linux/landlock.h>.
|
||||
|
||||
* Scripts:
|
||||
|
||||
- xzgrep: Fix handling of the ' char at the end of a command
|
||||
line option. For example, the following tricked xzgrep to
|
||||
run "id": xzgrep "-e'" "-e;id;'" somefile
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
- xzdiff: Use the C locale (LC_ALL=C) with "sed" and "expr"
|
||||
to ensure safe behavior with invalid multibyte sequences.
|
||||
An equivalent improvement was made in xzgrep in 5.2.6
|
||||
(2022-08-12), but it was forgotten from xzdiff.
|
||||
(Also in v5.2, v5.4, and v5.6.)
|
||||
|
||||
* Tests:
|
||||
|
||||
- Improve a few tests and fuzz targets.
|
||||
|
||||
- Add new test files:
|
||||
* bad-0-index-1.xz (32 bytes)
|
||||
* bad-1-index-huge-uncomp.xz (72 bytes)
|
||||
|
||||
* Man pages:
|
||||
|
||||
- Improve the rendering with OpenBSD's mandoc(1).
|
||||
|
||||
- Reduce indentation of the tables to avoid overlong lines
|
||||
in translated versions of the xz man page.
|
||||
|
||||
* Translations:
|
||||
|
||||
- In translated man pages, workaround an issue with non-ASCII
|
||||
characters in tables.
|
||||
|
||||
- Fix syntax errors in a few man page translations.
|
||||
|
||||
- Update Arabic and German man page translations.
|
||||
|
||||
- Update Brazilian Portuguese, Croatian, Dutch, German, Italian,
|
||||
Korean, Polish, Portuguese, Romanian, and Ukrainian message
|
||||
translations.
|
||||
|
||||
|
||||
5.8.3 (2026-03-31)
|
||||
|
||||
IMPORTANT: This includes a fix for CVE-2026-34743 which affects all
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user