CVE-2026-98665 in Linux
요약
\~에 의해 VulDB • 2026. 10. 21.
Linux 커널에서 다음 취약점이 해결되었습니다:
iio: health: max30102: 인터럽트 핸들러 내 NULL 포인터 역참조 수정
인터럽트는 `max30102_probe()`에서 요청되며 장치의 수명 동안 활성화된 상태로 유지되지만, `indio_dev->active_scan_mask`는 버퍼가 활성화되어 있는 경우에만 유효합니다. 버퍼가 비활성화된 상태에서 인터럽트가 발생하면 핸들러가 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]
핸들러의 시작 부분에서 `max30102_fifo_count()`를 호출하고, FIFO 샘플이 준비되었음을 보고하는 경우에만 처리를 진행합니다. `FIFO_RDY`는 `max30102_chip_init()`에서 활성화된 유일한 인터럽트 소스이므로, `FIFO_RDY` 인터럽트 상태 비트가 설정되지 않은 상태로 `max30102_interrupt_handler()`가 호출되면 읽을 데이터가 없으며 `active_scan_mask`에 접근하기 전에 조기에 반환할 수 있습니다. 또한 `max30102_fifo_count()`에서 음수 값이 반환되는 것은 실패한 인터럽트 상태 읽기를 나타내며, 동일한 방식으로 처리됩니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.