Skip to main content
← All vulnerabilities
CVE-2026-98665

iio: health: max30102: fix NULL dereference in interrupt handler

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 6.6.160, 6.12.113, 6.18.56, 7.2.10
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: iio: health: max30102: fix NULL dereference in interrupt handler The interrupt is requested in max30102_probe() and stays enabled for the lifetime of the device, but indio_dev->active_scan_mask is only valid while a buffer is enabled. When an interrupt arrives while no buffer is enabled, the handler dereferences the NULL active_scan_mask: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 Call trace: __bitmap_weight+0x64/0x98 (P) max30102_interrupt_handler+0x48/0x160 [max30102] Call max30102_fifo_count() at the top of the handler and return early unless it reports a FIFO sample is ready. Because FIFO_RDY is the only interrupt source enabled in max30102_chip_init(), an invocation of max30102_interrupt_handler() without the FIFO_RDY interrupt status bit set carries no data to read and can return before touching active_scan_mask. A negative return from max30102_fifo_count() indicates a failed interrupt status read and is treated the same way.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 90579b69e94bf11ea0745ff003e82a6ce9725f96 · fixed in 2a74f30a7bb305cdc5c3e3e9239b32bb84f3529f; From 90579b69e94bf11ea0745ff003e82a6ce9725f96 · fixed in eeb23ba97bd8016e815ef70300b8d34a0a316b90; From 90579b69e94bf11ea0745ff003e82a6ce9725f96 · fixed in 60699102827fdb51f9591414165359c8e867f302; From 90579b69e94bf11ea0745ff003e82a6ce9725f96 · fixed in 8d6f98972fe2bd6f73f39d982af0c85d766a1503; From 90579b69e94bf11ea0745ff003e82a6ce9725f96 · fixed in f0ea4824deebf21dacfbe397c4b0a5fd3e745a8d

  • Linux Linux

    4.16

  • KernelLinux

    From 4.16.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.113; From 6.13.0 · fixed in 6.18.56; From 6.19.0 · fixed in 7.2.10

References 5

git.kernel.org