CVE-2024-27059CWE-369

CVE-2024-27059

Medium · published May 1, 2024

CVSS v3.1
5.5
EPSS
0%
Percentile
14.5
In the wild
Unconfirmed
What it is

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

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00242 · 14.5th percentile
Weakness
CWE-369 · Divide By Zero
Published
2024-05-01T17:15Z
Affected products (14)
ProductVersionsFixed in
linux/linux_kernel≥ 2.6.12, < 4.19.3124.19.312
linux/linux_kernel≥ 4.20, < 5.4.2745.4.274
linux/linux_kernel≥ 5.5, < 5.10.2155.10.215
linux/linux_kernel≥ 5.11, < 5.15.1545.15.154
linux/linux_kernel≥ 5.16, < 6.1.846.1.84
linux/linux_kernel≥ 6.2, < 6.6.646.6.64
linux/linux_kernel≥ 6.7, < 6.7.126.7.12
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
debian/debian_linuxall versions—
References (19)
https://git.kernel.org/stable/c/014bcf41d946b36a8f0b8e9b5d9529efbb822f49 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/284fb1003d5da111019b9e0bf99b084fd71ac133 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/3a67d4ab9e730361d183086dfb0ddd8c61f01636 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/6c1f36d92c0a8799569055012665d2bb066fb964 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/871fd7b10b56d280990b7e754f43d888382ca325 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/9968c701cba7eda42e5f0052b040349d6222ae34 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/eb7b01ca778170654e1c76950024270ba74b121f · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/f42ba916689f5c7b1642092266d2f53cf527aaaa · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/014bcf41d946b36a8f0b8e9b5d9529efbb822f49 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/284fb1003d5da111019b9e0bf99b084fd71ac133 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/3a67d4ab9e730361d183086dfb0ddd8c61f01636 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/6c1f36d92c0a8799569055012665d2bb066fb964 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/871fd7b10b56d280990b7e754f43d888382ca325 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/9968c701cba7eda42e5f0052b040349d6222ae34 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/eb7b01ca778170654e1c76950024270ba74b121f · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/f42ba916689f5c7b1642092266d2f53cf527aaaa · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html · af854a3a-2127-422b-91ae-364da2661108https://cert-portal.siemens.com/productcert/html/ssa-265688.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
EPSS history
Timeline
  • 01 MAY 13:00Z
    USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command
    cvelistv5