CVE-2026-98665: iio: health: max30102: fix NULL dereference in interrupt handler
iio: health: max30102: fix NULL dereference in interrupt handler
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Compensating control
In max30102_interrupt_handler(), call max30102_fifo_count() at the top and return early unless it reports that a FIFO sample is ready, including returning early for a negative result indicating a failed interrupt status read.
Event History
Frequently Asked Questions
When can this NULL dereference occur?
It can occur when the MAX30102 interrupt handler runs while no IIO buffer is enabled. In that state, indio_dev->active_scan_mask is not valid, but the handler may dereference it.
What conditions are required to trigger the issue?
The MAX30102 device interrupt must be requested and an interrupt must arrive when the buffer is disabled. The issue is associated with the interrupt handler running without a FIFO_RDY status indication, including when reading interrupt status fails.
What changes in the resolved code prevent the crash?
The handler first calls max30102_fifo_count() and returns unless a FIFO sample is ready. This avoids accessing active_scan_mask when there is no FIFO_RDY interrupt status bit or when the interrupt-status read returns an error.