cbcvebase.
CVE-2024-53142
published 2024-12-06

CVE-2024-53142: In the Linux kernel, the following vulnerability has been resolved: initramfs: avoid filename buffer overrun The initramfs filename field is defined in…

PriorityP342high7.8CVSS 3.1
AVLACLPRLUINSUCHIHAH
EPSS
0.25%
16.2th percentile
In the Linux kernel, the following vulnerability has been resolved: initramfs: avoid filename buffer overrun The initramfs filename field is defined in Documentation/driver-api/early-userspace/buffer-format.rst as: 37 cpio_file := ALGN(4) + cpio_header + filename + "\0" + ALGN(4) + data ... 55 ============= ================== ========================= 56 Field name Field size Meaning 57 ============= ================== ========================= ... 70 c_namesize 8 bytes Length of filename, including final \0 When extracting an initramfs cpio archive, the kernel's do_name() path handler assumes a zero-terminated path at @collected, passing it directly to filp_open() / init_mkdir() / init_mknod(). If a specially crafted cpio entry carries a non-zero-terminated filename and is followed by uninitialized memory, then a file may be created with trailing characters that represent the uninitialized memory. The ability to create an initramfs entry would imply already having full control of the system, so the buffer overrun shouldn't be considered a security vulnerability. Append the output of the following bash script to an existing initramfs and observe any created /initramfs_test_fname_overrunAA* path. E.g. ./reproducer.sh | gzip >> /myinitramfs It's easiest to observe non-zero uninitialized memory when the output is gzipped, as it'll overflow the heap allocated @out_buf in __gunzip(), rather than the initrd_start+initrd_size block. ---- reproducer.sh ---- nilchar="A" # change to "\0" to properly zero terminate / pad magic="070701" ino=1 mode=$(( 0100777 )) uid=0 gid=0 nlink=1 mtime=1 filesize=0 devmajor=0 devminor=1 rdevmajor=0 rdevminor=0 csum=0 fname="initramfs_test_fname_overrun" namelen=$(( ${#fname} + 1 )) # plus one to account for terminator printf "%s%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%s" \ $magic $ino $mode $uid $gid $nlink $mtime $filesize \ $devmajor $devminor $rdevmajor $rdevminor $namelen $csum $fname termpadlen=$(( 1 + ((4 - ((110 +

Affected

28 ranges· showing 25
VendorProductVersion rangeFixed in
debianlinux< linux 6.1.123-1 (bookworm)linux 6.1.123-1 (bookworm)
debianlinux-6.1< linux 6.1.123-1 (bookworm)linux 6.1.123-1 (bookworm)
linuxlinux
linuxlinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < bb7ac96670ab1d8d681015f9d66e45dad579af4dbb7ac96670ab1d8d681015f9d66e45dad579af4d
linuxlinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < c509b1acbd867d9e09580fe059a924cb5825afb1c509b1acbd867d9e09580fe059a924cb5825afb1
linuxlinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < d3df9f26cff97beaa5643e551031795d5d5cddbed3df9f26cff97beaa5643e551031795d5d5cddbe
linuxlinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 6983b8ac787b3add5571cda563574932a59a99bb6983b8ac787b3add5571cda563574932a59a99bb
linuxlinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f892ddcf9f645380c358e73653cb0900f6bc9eb8f892ddcf9f645380c358e73653cb0900f6bc9eb8
linuxlinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 1a423bbbeaf9e3e20c4686501efd9b661fe834db1a423bbbeaf9e3e20c4686501efd9b661fe834db
linuxlinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 49d01e736c3045319e030d1e75fb983011abaca749d01e736c3045319e030d1e75fb983011abaca7
linuxlinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < fb83b093f75806333b6f4ae29b158d2e0e3ec971fb83b093f75806333b6f4ae29b158d2e0e3ec971
linuxlinux>= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < e017671f534dd3f568db9e47b0583e853d2da9b5e017671f534dd3f568db9e47b0583e853d2da9b5
linuxlinux_kernel>= 0 < 5.10.234-15.10.234-1
linuxlinux_kernel>= 0 < 6.1.123-16.1.123-1
linuxlinux_kernel>= 0 < 6.12.3-16.12.3-1
linuxlinux_kernel>= 0 < 6.12.3-16.12.3-1
linuxlinux_kernel>= 0 < 5.4.0-211.2315.4.0-211.231
linuxlinux_kernel>= 0 < 5.15.0-135.1465.15.0-135.146
linuxlinux_kernel>= 0 < 6.8.0-58.606.8.0-58.60
linuxlinux_kernel>= 0 < 6.11.0-18.186.11.0-18.18
linuxlinux_kernel>= 2.6.12 < 4.19.3254.19.325
linuxlinux_kernel>= 4.20 < 6.6.646.6.64
linuxlinux_kernel>= 6.12 < 6.12.26.12.2
linuxlinux_kernel>= 6.7 < 6.11.116.11.11
msrcazl3_kernel_6.6.57.1-7_on_azure_linux_3.0

CVSS provenance

nvdv3.17.8HIGHCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
osv8.8HIGH
vendor_ubuntu8.8HIGH
vendor_debian7.8HIGH
vendor_redhat7.8HIGH
vendor_msrc6.7MEDIUM
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.