CVE-2024-42136 in Linuxinformazioni

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.

Responsabile

Linux

Prenotare

29/07/2024

Divulgazione

30/07/2024

Moderazione

accettato

CPE

pronto

EPSS

0.00236

KEV

no

Attività

molto basso

Fonti

Do you need the next level of professionalism?

Upgrade your account now!