CVE-2024-27059

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

State
Published
Severity
Not scored
Published
May 1, 2024
Updated
Oct 15, 2026
Reserved
Feb 19, 2024

Read the record on cve.org

Description

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

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 9968c701cba7eda42e5f0052b040349d6222ae34Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before eb7b01ca778170654e1c76950024270ba74b121fAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 284fb1003d5da111019b9e0bf99b084fd71ac133Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 6c1f36d92c0a8799569055012665d2bb066fb964Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before f42ba916689f5c7b1642092266d2f53cf527aaaaAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 871fd7b10b56d280990b7e754f43d888382ca325Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 3a67d4ab9e730361d183086dfb0ddd8c61f01636Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 014bcf41d946b36a8f0b8e9b5d9529efbb822f49Affected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 4.19.312 through 4.19.*Not affected
  • 5.4.274 through 5.4.*Not affected
  • 5.10.215 through 5.10.*Not affected
  • 5.15.154 through 5.15.*Not affected
  • 6.1.84 through 6.1.*Not affected
  • 6.6.24 through 6.6.*Not affected
  • 6.7.12 through 6.7.*Not affected
  • 6.8 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.