CVE-2024-27059

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

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc6:*:*:*:*:*:*

Configuration 2 (hide)

cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*

History

14 Jan 2025, 14:36

Type Values Removed Values Added
First Time Linux
Debian debian Linux
Debian
Linux linux Kernel
References () https://git.kernel.org/stable/c/014bcf41d946b36a8f0b8e9b5d9529efbb822f49 - () https://git.kernel.org/stable/c/014bcf41d946b36a8f0b8e9b5d9529efbb822f49 - Patch
References () https://git.kernel.org/stable/c/284fb1003d5da111019b9e0bf99b084fd71ac133 - () https://git.kernel.org/stable/c/284fb1003d5da111019b9e0bf99b084fd71ac133 - Patch
References () https://git.kernel.org/stable/c/3a67d4ab9e730361d183086dfb0ddd8c61f01636 - () https://git.kernel.org/stable/c/3a67d4ab9e730361d183086dfb0ddd8c61f01636 - Patch
References () https://git.kernel.org/stable/c/6c1f36d92c0a8799569055012665d2bb066fb964 - () https://git.kernel.org/stable/c/6c1f36d92c0a8799569055012665d2bb066fb964 - Patch
References () https://git.kernel.org/stable/c/871fd7b10b56d280990b7e754f43d888382ca325 - () https://git.kernel.org/stable/c/871fd7b10b56d280990b7e754f43d888382ca325 - Patch
References () https://git.kernel.org/stable/c/9968c701cba7eda42e5f0052b040349d6222ae34 - () https://git.kernel.org/stable/c/9968c701cba7eda42e5f0052b040349d6222ae34 - Patch
References () https://git.kernel.org/stable/c/eb7b01ca778170654e1c76950024270ba74b121f - () https://git.kernel.org/stable/c/eb7b01ca778170654e1c76950024270ba74b121f - Patch
References () https://git.kernel.org/stable/c/f42ba916689f5c7b1642092266d2f53cf527aaaa - () https://git.kernel.org/stable/c/f42ba916689f5c7b1642092266d2f53cf527aaaa - Patch
References () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html - () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html - Mailing List
References () https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html - () https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html - Mailing List
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CWE CWE-369
CPE cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

21 Nov 2024, 09:03

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html -
  • () https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html -
References () https://git.kernel.org/stable/c/014bcf41d946b36a8f0b8e9b5d9529efbb822f49 - () https://git.kernel.org/stable/c/014bcf41d946b36a8f0b8e9b5d9529efbb822f49 -
References () https://git.kernel.org/stable/c/284fb1003d5da111019b9e0bf99b084fd71ac133 - () https://git.kernel.org/stable/c/284fb1003d5da111019b9e0bf99b084fd71ac133 -
References () https://git.kernel.org/stable/c/3a67d4ab9e730361d183086dfb0ddd8c61f01636 - () https://git.kernel.org/stable/c/3a67d4ab9e730361d183086dfb0ddd8c61f01636 -
References () https://git.kernel.org/stable/c/6c1f36d92c0a8799569055012665d2bb066fb964 - () https://git.kernel.org/stable/c/6c1f36d92c0a8799569055012665d2bb066fb964 -
References () https://git.kernel.org/stable/c/871fd7b10b56d280990b7e754f43d888382ca325 - () https://git.kernel.org/stable/c/871fd7b10b56d280990b7e754f43d888382ca325 -
References () https://git.kernel.org/stable/c/9968c701cba7eda42e5f0052b040349d6222ae34 - () https://git.kernel.org/stable/c/9968c701cba7eda42e5f0052b040349d6222ae34 -
References () https://git.kernel.org/stable/c/eb7b01ca778170654e1c76950024270ba74b121f - () https://git.kernel.org/stable/c/eb7b01ca778170654e1c76950024270ba74b121f -
References () https://git.kernel.org/stable/c/f42ba916689f5c7b1642092266d2f53cf527aaaa - () https://git.kernel.org/stable/c/f42ba916689f5c7b1642092266d2f53cf527aaaa -

05 Nov 2024, 10:16

Type Values Removed Values Added
References
  • {'url': 'https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html', 'source': '416baaa9-dc9f-4396-8d5f-8c081fb06d67'}
  • {'url': 'https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html', 'source': '416baaa9-dc9f-4396-8d5f-8c081fb06d67'}

27 Jun 2024, 12:15

Type Values Removed Values Added
References
  • () https://lists.debian.org/debian-lts-announce/2024/06/msg00020.html -

25 Jun 2024, 22:15

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: USB: almacenamiento-usb: evita el error de división por 0 en isd200_ata_command El subcontrolador isd200 en almacenamiento-usb utiliza los valores HEADS y SECTORES en la información de ID de ATA para calcular el cilindro y valores principales al crear un CDB para comandos LEER o ESCRIBIR. El cálculo implica operaciones de división y módulo, lo que provocará un bloqueo si cualquiera de estos valores es 0. Si bien esto nunca sucede con un dispositivo genuino, podría suceder con una emulación defectuosa o subversiva, según lo informado por syzbot fuzzer. Protéjase contra esta posibilidad negándose a vincularse al dispositivo si el valor ATA_ID_HEADS o ATA_ID_SECTORS en la información de ID del dispositivo es 0. Esto requiere que isd200_Initialization() devuelva un código de error negativo cuando falla la inicialización; actualmente siempre devuelve 0 (incluso cuando hay un error).
References
  • () https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html -

01 May 2024, 19:50

Type Values Removed Values Added
New CVE

Information

Published : 2024-05-01 13:15

Updated : 2025-01-14 14:36


NVD link : CVE-2024-27059

Mitre link : CVE-2024-27059

CVE.ORG link : CVE-2024-27059


JSON object : View

Products Affected

debian

  • debian_linux

linux

  • linux_kernel
CWE
CWE-369

Divide By Zero