cbcvebase.
CVE-2023-52933
published 2025-03-27

CVE-2023-52933: In the Linux kernel, the following vulnerability has been resolved: Squashfs: fix handling and sanity checking of xattr_ids count A Sysbot [1] corrupted…

PriorityP421medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.26%
17.4th percentile
In the Linux kernel, the following vulnerability has been resolved: Squashfs: fix handling and sanity checking of xattr_ids count A Sysbot [1] corrupted filesystem exposes two flaws in the handling and sanity checking of the xattr_ids count in the filesystem. Both of these flaws cause computation overflow due to incorrect typing. In the corrupted filesystem the xattr_ids value is 4294967071, which stored in a signed variable becomes the negative number -225. Flaw 1 (64-bit systems only): The signed integer xattr_ids variable causes sign extension. This causes variable overflow in the SQUASHFS_XATTR_*(A) macros. The variable is first multiplied by sizeof(struct squashfs_xattr_id) where the type of the sizeof operator is "unsigned long". On a 64-bit system this is 64-bits in size, and causes the negative number to be sign extended and widened to 64-bits and then become unsigned. This produces the very large number 18446744073709548016 or 2^64 - 3600. This number when rounded up by SQUASHFS_METADATA_SIZE - 1 (8191 bytes) and divided by SQUASHFS_METADATA_SIZE overflows and produces a length of 0 (stored in len). Flaw 2 (32-bit systems only): On a 32-bit system the integer variable is not widened by the unsigned long type of the sizeof operator (32-bits), and the signedness of the variable has no effect due it always being treated as unsigned. The above corrupted xattr_ids value of 4294967071, when multiplied overflows and produces the number 4294963696 or 2^32 - 3400. This number when rounded up by SQUASHFS_METADATA_SIZE - 1 (8191 bytes) and divided by SQUASHFS_METADATA_SIZE overflows again and produces a length of 0. The effect of the 0 length computation: In conjunction with the corrupted xattr_ids field, the filesystem also has a corrupted xattr_table_start value, where it matches the end of filesystem value of 850. This causes the following sanity check code to fail because the incorrectly computed len of 0 matches the incorrect size of the table report

Affected

31 ranges· showing 25
VendorProductVersion rangeFixed in
debianlinux< linux 6.1.11-1 (bookworm)linux 6.1.11-1 (bookworm)
linuxlinux
linuxlinux
linuxlinux
linuxlinux>= 3654a0ed0bdc6d70502bfc7c9fec9f1e243dfcad < 1369322c1de52c7b9b988b95c9903110a45667781369322c1de52c7b9b988b95c9903110a4566778
linuxlinux>= 4.14.222 < 4.14.3064.14.306
linuxlinux>= 4.19.176 < 4.19.2734.19.273
linuxlinux>= 4.4.258 < 4.54.5
linuxlinux>= 4.9.258 < 4.104.10
linuxlinux>= 5.10.16 < 5.10.1685.10.168
linuxlinux>= 5.4.98 < 5.4.2325.4.232
linuxlinux>= 506220d2ba21791314af569211ffd8870b8208fa < 997bed0f3cde78a3e639d624985bf4a95cf767e6997bed0f3cde78a3e639d624985bf4a95cf767e6
linuxlinux>= 506220d2ba21791314af569211ffd8870b8208fa < a7da7d01ac5ce9b369a1ac70e1197999cc6c9686a7da7d01ac5ce9b369a1ac70e1197999cc6c9686
linuxlinux>= 506220d2ba21791314af569211ffd8870b8208fa < f65c4bbbd682b0877b669828b4e033b8d5d0a2dcf65c4bbbd682b0877b669828b4e033b8d5d0a2dc
linuxlinux>= a8717b34003f4f7353b23826617ad872f85d85d8 < b38c3e9e0adc01956cc3e5a52e4d3f92f79d88e2b38c3e9e0adc01956cc3e5a52e4d3f92f79d88e2
linuxlinux>= bddcce15cd1fb9675ddd46a76d8fe2d0a571313b < 5c4d4a83bf1a862d80c1efff1c6e3ce33b501e2e5c4d4a83bf1a862d80c1efff1c6e3ce33b501e2e
linuxlinux>= ff49cace7b8cf00d27665f7536a863d406963d06 < 7fe583c9bec10cd4b76231c51b37f3e4ca646e017fe583c9bec10cd4b76231c51b37f3e4ca646e01
linuxlinux_kernel
linuxlinux_kernel
linuxlinux_kernel>= 0 < 5.10.178-15.10.178-1
linuxlinux_kernel>= 0 < 6.1.11-16.1.11-1
linuxlinux_kernel>= 0 < 6.1.11-16.1.11-1
linuxlinux_kernel>= 0 < 6.1.11-16.1.11-1
linuxlinux_kernel>= 4.14.222 < 4.14.3064.14.306
linuxlinux_kernel>= 4.19.176 < 4.19.2734.19.273

CVSS provenance

nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
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.