CVE-2024-42136: cdrom: rearrange last_media_change check to avoid unintentional overflow
In the Linux kernel, the following vulnerability has been resolved:
cdrom: rearrange lastmediachange check to avoid unintentional overflow
When running syzkaller with the newly reintroduced signed integer wrap sanitizer we encounter this splat:
[ 366.015950] UBSAN: signed-integer-overflow in ../drivers/cdrom/cdrom.c:2361:33 [ 366.021089] -9223372036854775808 - 346321 cannot be represented in type 's64' (aka 'long long') [ 366.025894] program syz-executor.4 is using a deprecated SCSI ioctl, please convert it to SGIO [ 366.027502] CPU: 5 PID: 28472 Comm: syz-executor.7 Not tainted 6.8.0-rc2-00035-gb3ef86b5a957 #1 [ 366.027512] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 366.027518] Call Trace: [ 366.027523] <TASK> [ 366.027533] dumpstacklvl+0x93/0xd0 [ 366.027899] handleoverflow+0x171/0x1b0 [ 366.038787] ata1.00: invalid multicount 32 ignored [ 366.043924] cdromioctl+0x2c3f/0x2d10 [ 366.063932] ? pmruntimeresume+0xe6/0x130 [ 366.071923] srblockioctl+0x15d/0x1d0 [ 366.074624] ? pfxsrblockioctl+0x10/0x10 [ 366.077642] blkdevioctl+0x419/0x500 [ 366.080231] ? pfxblkdevioctl+0x10/0x10 ...
Historically, the signed integer overflow sanitizer did not work in the kernel due to its interaction with -fwrapv but this has since been changed [1] in the newest version of Clang. It was re-enabled in the kernel with Commit 557f8c582a9ba8ab ("ubsan: Reintroduce signed overflow sanitizer").
Let's rearrange the check to not perform any arithmetic, thus not tripping the sanitizer.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-42136?
CVE-2024-42136 is classified as a potential security vulnerability that can cause unintended behavior in the Linux kernel.
How do I fix CVE-2024-42136?
To fix CVE-2024-42136, update your Linux kernel to version 6.1.123-1, 6.1.119-1, or any version above 6.6.39.
Which Linux kernel versions are affected by CVE-2024-42136?
CVE-2024-42136 affects Linux kernel versions from prior to 6.1.98, versions between 6.2 and 6.6.39, and between 6.7 and 6.9.9.
Is CVE-2024-42136 a local or remote vulnerability?
CVE-2024-42136 is considered a local vulnerability that requires access to the affected system to exploit.
What systems are primarily affected by CVE-2024-42136?
CVE-2024-42136 primarily impacts systems running affected versions of the Linux kernel.