[ANNOUNCE] util-linux v2.42.3
From: Karel Zak
Date: Wed Sep 02 2026 - 04:31:36 EST
The util-linux release v2.42.3 is now available at
http://www.kernel.org/pub/linux/utils/util-linux/v2.42
Feedback and bug reports, as always, are welcomed.
Karel
util-linux 2.42.3 Release Notes
===============================
Security fixes:
CVE-2026-76642 - mount(8) post-mount hooks execute after helper failure.
When an external mount.<type> helper exits nonzero, post-mount hooks
(X-mount.idmap, X-mount.owner/group/mode) still execute as if the
mount had succeeded, allowing privileged operations on the
pre-existing target filesystem.
CVE-2026-78410 - mount(8) TOCTOU race on source path.
In restricted (SUID, non-root) mode, the source path is
canonicalized with realpath() as euid=0, following symlinks through
user-writable directories. Additionally, open_tree() follows
symlinks in intermediate path components. A local attacker can
redirect a privileged mount or post-mount ownership change to an
arbitrary path.
CVE-2026-78409 - mount(8) X-mount.subdir symlink escape.
The open_tree() call used to open a subdirectory on a detached mount
follows symlinks in intermediate path components, allowing escape
from the detached tree.
CVE-2026-78408 - nsenter(1), unshare(1) file descriptor leak.
File descriptors in nsenter and unshare were not created with
O_CLOEXEC, potentially leaking them across exec. Added O_CLOEXEC
as defense in depth.
wall(1), write(1) - hostname escape sequence injection.
The CVE-2024-28085 fix sanitized only message bodies; the banner
headers still interpolated the system hostname without sanitization.
An unprivileged user can inject terminal escape sequences via a user
namespace hostname.
Additional fix for CVE-2024-28085.
Reported-by: Skyler Ferrante
Changes between v2.42.2 and v2.42.3:
agetty:
- fix spurious issue file reprinting on reload (by Karel Zak)
bitops:
- avoid macro redefinition on macOS (by Karel Zak)
build-sys:
- require lastlog.h for liblastlog2 (by WanBingjiang)
col:
- guard c_width sign before size_t cast in BS branch (by Aizal Khan)
- fix cur_col underflow on backspace over a wide char (by Aizal Khan)
disk-utils:
- fix memory leak in execute function (by Tigran Sogomonian)
hexdump:
- stop after stdout write errors (by WanBingjiang)
libblkid:
- befs fix possible load of misaligned address (by Milan Broz)
- befs fix possible too large shift (by Milan Broz)
- dos fix 32-bit overflow in partition start/size [coverity CID 503517, 503518] (by Karel Zak)
- (iso9660) fix out-of-bounds read of root dir record (by Aizal Khan)
libfdisk:
- fix OOM on GPT with huge partition entries array (by Karel Zak)
lib/fileutils:
- add ul_openat_resolve() openat2 wrapper (by Karel Zak)
libmount:
- skip post-mount hooks after failed mount helper [CVE-2026-76642] (by Karel Zak)
- pin source path with openat2() for restricted users [CVE-2026-78410] (by Karel Zak)
- restrict source path canonicalization for non-root users [CVE-2026-78410] (by Karel Zak)
- fix X-mount.subdir symlink following on detached tree [CVE-2026-78409] (by Karel Zak)
- add mnt_open_tree() helper for safe tree opening (by Karel Zak)
- fix DBG() macro use (by Karel Zak)
- reuse existing act fd in mnt_update_start on ro retry (by wangrong)
- properly end act file in mnt_free_update (by wangrong)
- don't ignore "/" target in mount --all when target prefix is set (by Karel Zak)
lscpu:
- remove mmu reference not available in stable/v2.42 (by Karel Zak)
- add NULL guards for RISC-V ISA functions [coverity CID 503785] (by Karel Zak)
mbsalign:
- check remaining buffer space before writing hex escapes (by aizu-m)
meson:
- move header checks before component dependency resolution (by Karel Zak)
- gate liblastlog2 on lastlog.h (by Thomas Weißschuh)
more:
- fix out-of-bounds write in get_line() on invalid multibyte input (by logical-misha)
nsenter, unshare:
- add O_CLOEXEC to all open() calls [CVE-2026-78408] (by Karel Zak)
pg:
- fix out-of-bounds access past wbuf on a trailing tab (by logical-misha)
po:
- merge changes (by Karel Zak)
- update zh_CN.po (from translationproject.org) (by Boyuan Yang)
- update tr.po (from translationproject.org) (by Emir SARI)
- update es.po (from translationproject.org) (by Antonio Ceballos Roa)
po-man:
- merge changes (by Karel Zak)
- update pl.po (from translationproject.org) (by Michał Kułach)
tests:
- (partx) settle udev before checking partition count (by Karel Zak)
- kill/decode also strip RT0 from signal mask output (by Karel Zak)
- test_scols_termreduce needs libsmartcols (by Adam Sampson)
unshare:
- Fix --map-auto regression (by Chris Webb)
wall, write:
- sanitize hostname in banner header (by Karel Zak)