Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

redhat логотип

CVE-2024-27059

Опубликовано: 01 мая 2024
Источник: redhat
CVSS3: 5.5
EPSS Низкий

Описание

In the Linux kernel, the following vulnerability has been resolved: USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command The isd200 sub-driver in usb-storage uses the HEADS and SECTORS values in the ATA ID information to calculate cylinder and head values when creating a CDB for READ or WRITE commands. The calculation involves division and modulus operations, which will cause a crash if either of these values is 0. While this never happens with a genuine device, it could happen with a flawed or subversive emulation, as reported by the syzbot fuzzer. Protect against this possibility by refusing to bind to the device if either the ATA_ID_HEADS or ATA_ID_SECTORS value in the device's ID information is 0. This requires isd200_Initialization() to return a negative error code when initialization fails; currently it always returns 0 (even when there is an error).

A flaw was found in the Linux kernel's USB storage driver. When processing identification data for ISD200 devices, the driver does not verify that reported sector and head counts are greater than zero before performing division operations. A local attacker who connects a specially crafted or emulated USB storage device can trigger a divide-by-zero error, causing a kernel crash and resulting in a Denial of Service (DoS).

Отчет

This vulnerability is rated with a Low severity because exploitation requires physical access to plug in a malicious hardware device or the ability to attach an emulated USB device to a virtualized guest. The flaw is restricted to the handling of legacy ISD200 ATA bridge hardware in the USB storage subsystem, an uncommon hardware profile in standard enterprise environments. While triggering the flaw crashes the kernel and results in a denial of service, it cannot be leveraged for arbitrary code execution, privilege escalation, or data disclosure.

Затронутые пакеты

ПлатформаПакетСостояниеРекомендацияРелиз
Red Hat Enterprise Linux 6kernelOut of support scope
Red Hat Enterprise Linux 7kernelOut of support scope
Red Hat Enterprise Linux 7kernel-rtOut of support scope
Red Hat Enterprise Linux 9kernelAffected
Red Hat Enterprise Linux 8kernel-rtFixedRHSA-2024:362705.06.2024
Red Hat Enterprise Linux 8kernelFixedRHSA-2024:361805.06.2024
Red Hat Enterprise Linux 9.4 Extended Update SupportkernelFixedRHSA-2025:1313506.08.2025

Показывать по

Дополнительная информация

Статус:

Low
Дефект:
CWE-369
https://bugzilla.redhat.com/show_bug.cgi?id=2278398kernel: USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command

EPSS

Процентиль: 15%
0.00242
Низкий

5.5 Medium

CVSS3

Связанные уязвимости

CVSS3: 5.5
ubuntu
больше 2 лет назад

In the Linux kernel, the following vulnerability has been resolved: USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command The isd200 sub-driver in usb-storage uses the HEADS and SECTORS values in the ATA ID information to calculate cylinder and head values when creating a CDB for READ or WRITE commands. The calculation involves division and modulus operations, which will cause a crash if either of these values is 0. While this never happens with a genuine device, it could happen with a flawed or subversive emulation, as reported by the syzbot fuzzer. Protect against this possibility by refusing to bind to the device if either the ATA_ID_HEADS or ATA_ID_SECTORS value in the device's ID information is 0. This requires isd200_Initialization() to return a negative error code when initialization fails; currently it always returns 0 (even when there is an error).

CVSS3: 5.5
nvd
больше 2 лет назад

In the Linux kernel, the following vulnerability has been resolved: USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command The isd200 sub-driver in usb-storage uses the HEADS and SECTORS values in the ATA ID information to calculate cylinder and head values when creating a CDB for READ or WRITE commands. The calculation involves division and modulus operations, which will cause a crash if either of these values is 0. While this never happens with a genuine device, it could happen with a flawed or subversive emulation, as reported by the syzbot fuzzer. Protect against this possibility by refusing to bind to the device if either the ATA_ID_HEADS or ATA_ID_SECTORS value in the device's ID information is 0. This requires isd200_Initialization() to return a negative error code when initialization fails; currently it always returns 0 (even when there is an error).

CVSS3: 5.5
msrc
почти 2 года назад

USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command

CVSS3: 5.5
debian
больше 2 лет назад

In the Linux kernel, the following vulnerability has been resolved: U ...

CVSS3: 5.5
github
больше 2 лет назад

In the Linux kernel, the following vulnerability has been resolved: USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command The isd200 sub-driver in usb-storage uses the HEADS and SECTORS values in the ATA ID information to calculate cylinder and head values when creating a CDB for READ or WRITE commands. The calculation involves division and modulus operations, which will cause a crash if either of these values is 0. While this never happens with a genuine device, it could happen with a flawed or subversive emulation, as reported by the syzbot fuzzer. Protect against this possibility by refusing to bind to the device if either the ATA_ID_HEADS or ATA_ID_SECTORS value in the device's ID information is 0. This requires isd200_Initialization() to return a negative error code when initialization fails; currently it always returns 0 (even when there is an error).

EPSS

Процентиль: 15%
0.00242
Низкий

5.5 Medium

CVSS3