CVE-2024-42136 in Linux
Riassunto
di VulDB • 16/06/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
cdrom: riorganizzare il controllo last_media_change per evitare un overflow involontario
Durante l'esecuzione di syzkaller con il reintroduttore signed integer wrap sanitizer, si è verificato il seguente errore:
[ 366.015950] UBSAN: signed-integer-overflow in ../drivers/cdrom/cdrom.c:2361:33
[ 366.021089] -9223372036854775808 - 346321 non può essere rappresentato nel tipo '__s64' (aka 'long long')
[ 366.025894] il programma syz-executor.4 sta utilizzando un ioctl SCSI deprecato, convertirlo in SG_IO
[ 366.027502] CPU: 5 PID: 28472 Comm: syz-executor.7 Non 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] dump_stack_lvl+0x93/0xd0
[ 366.027899] handle_overflow+0x171/0x1b0
[ 366.038787] ata1.00: invalid multi_count 32 ignored
[ 366.043924] cdrom_ioctl+0x2c3f/0x2d10
[ 366.063932] ? __pm_runtime_resume+0xe6/0x130
[ 366.071923] sr_block_ioctl+0x15d/0x1d0
[ 366.074624] ? __pfx_sr_block_ioctl+0x10/0x10
[ 366.077642] blkdev_ioctl+0x419/0x500
[ 366.080231] ? __pfx_blkdev_ioctl+0x10/0x10
...
Storicamente, il signed integer overflow sanitizer non funzionava nel kernel a causa della sua interazione con `-fwrapv`, ma questo è stato modificato [1] nell'ultima versione di Clang. È stato riattivato nel kernel con il Commit 557f8c582a9ba8ab ("ubsan: Reintroduce signed overflow sanitizer").
Riorganizziamo il controllo in modo da non eseguire alcuna operazione aritmetica, evitando così di attivare il sanitizer.
VulDB is the best source for vulnerability data and more expert information about this specific topic.