CVE-2024-42136 in Linux
Sumário
de VulDB • 18/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
cdrom: reorganizar a verificação last_media_change para evitar estouro não intencional
Ao executar o syzkaller com o sanitizador de wrap de inteiros com sinal recém-reintroduzido, encontramos este erro:
[ 366.015950] UBSAN: signed-integer-overflow em ../drivers/cdrom/cdrom.c:2361:33
[ 366.021089] -9223372036854775808 - 346321 não pode ser representado no tipo '__s64' (aka 'long long')
[ 366.025894] o programa syz-executor.4 está usando um ioctl SCSI obsoleto, por favor converta-o para SG_IO
[ 366.027502] CPU: 5 PID: 28472 Comm: syz-executor.7 Não contaminado 6.8.0-rc2-00035-gb3ef86b5a957 #1
[ 366.027512] Nome do hardware: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[ 366.027518] Rastreamento de chamada:
[ 366.027523] <TASK>
[ 366.027533] dump_stack_lvl+0x93/0xd0
[ 366.027899] handle_overflow+0x171/0x1b0
[ 366.038787] ata1.00: multi_count inválido 32 ignorado
[ 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
...
Historicamente, o sanitizador de estouro de inteiros com sinal não funcionava no kernel devido à sua interação com `-fwrapv`, mas isso foi alterado [1] na versão mais recente do Clang. Ele foi reativado no kernel com o Commit 557f8c582a9ba8ab ("ubsan: Reintroduce signed overflow sanitizer").
Vamos reorganizar a verificação para não realizar nenhuma aritmética, evitando assim ativar o sanitizador.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.