Junglewise Threat Intelligence

CVE-2024-38619: Linux Kernel divide error in Alauda usb-storage driver

CVE-2024-38619 · Severity: medium · CVSS 5.5 · Published 2024-06-20

Technologies: Linux Kernel. Vendors: Linux.

Executive brief

A vulnerability in the Linux kernel's USB storage driver for Alauda card readers could allow a local user to crash the system. The issue occurs when the system attempts to read or write data to a device that has not been properly initialized, leading to a 'divide by zero' error. This results in a denial-of-service (system crash), impacting the availability of the affected machine.

Technical details

A vulnerability exists in the 'alauda' USB storage driver (drivers/usb/storage/alauda.c) within the Linux kernel. The root cause is a failure to verify if media initialization was successful in the 'alauda_init_media()' function. If initialization fails, the 'uzonesize' member of the 'alauda_info' struct remains zero. Subsequent calls to 'alauda_read_data()' or 'alauda_write_lba()' use this value in division operations, triggering a kernel divide error (divide-by-zero). An attacker with local access could exploit this to cause a kernel panic and denial-of-service. The fix introduces a 'media_initialized' flag and ensures proper error checking of the initialization return value.

Affected products

  • Linux Linux Kernel versions from 2.6.16 up to 4.19.317, 4.20 up to 5.4.279, 5.5 up to 5.10.221, 5.11 up to 5.15.162, 5.16 up to 6.1.95, 6.2 up to 6.6.35, 6.7 up to 6.9.6

Timeline

  • 2024-05-26: other: Patch submitted by developer
  • 2024-06-20: disclosed: CVE published
  • 2024-06-21: patched: Stable kernel updates released

References

Related threats