Katalog CVE

CVE-2024-27059

ŚrednieCVSS 5.5
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.24%

Percentyl 14 - wyżej niż 14% wszystkich znanych CVE

Streszczenie

W podsystemie isd200 sterownika usb-storage jądra Linux występuje błąd dzielenia przez zero. Podczas tworzenia polecenia CDB dla operacji READ/WRITE używane są wartości HEADS i SECTORS z informacji ATA ID; jeśli któraś z nich wynosi 0, dochodzi do awarii jądra. Problem może wystąpić przy wadliwej lub celowo spreparowanej emulacji urządzenia USB.

Ocena ryzyka

Atakujący z fizycznym dostępem do portu USB lub możliwością podstawienia emulowanego urządzenia może doprowadzić do awarii jądra (odmowa usługi) na dotkniętym systemie.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która odmawia powiązania z urządzeniem, gdy ATA_ID_HEADS lub ATA_ID_SECTORS wynosi 0.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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).

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS