CVE-2026-89938 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 16.

Linux 커널에서 다음 취약점이 해결되었습니다:

iio: chemical: atlas-sensor: remove 시 UAF(Use-After-Free)를 수정하기 위해 iio_trigger_poll_nested() 사용

atlas 드라이버는 devm_request_threaded_irq()를 사용하여 하드웨어 데이터 준비 IRQ를 요청합니다. 스레드 핸들러는 irq_work, 즉 atlas_work_handler()를 큐에 추가하며, 이는 iio_trigger_poll(data->trig)을 호출합니다.

IRQ는 devm으로 관리되므로, free_irq()는 atlas_remove()가 반환한 후 devres 언와인드(unwind) 단계에서 실행되며 이때 해당 irq_work는 플러시되지 않습니다. 버퍼가 활성화되면 변환 완료 IRQ가 계속 발생하여 이를 큐에 추가합니다. 따라서 pending 상태의 irq_work는 atlas_data/indio_dev 및 트리거를 해제한 후에 언와인드가 종료된 후에도 실행될 수 있으며, 이 경우 atlas_work_handler()에서 container_of()를 통해 atlas_data 포인터를 파생하고 data->trig을 역참조하므로 Use-After-Free(UAF)가 발생합니다.

irq_work를 거치는 대신 스레드 핸들러에서 iio_trigger_poll_nested()를 직접 호출합니다. free_irq()는 이제 스레드 핸들러의 대기 작업을 비워주어 취약점 창(window)을 닫습니다. 다른 IIO 드라이버 중에도 데이터 준비 IRQ에 대해 동일한 방식을 사용하는 경우가 있습니다(예: bmi270).

이 문제는 사내 정적 분석 도구를 통해 발견되었습니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 11.

모더레이션

수락

항목

VDB-405836

EPSS

0.00000

출처

Do you know our Splunk app?

Download it now for free!