CVE-2026-64500 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 26.

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

iio: adc: lpc32xx: IRQ 요청 전에 completion을 초기화함

Jaeyoung Chung의 보고서에 따르면:

"drivers/iio/adc/lpc32xx_adc.c의 `lpc32xx_adc_probe()` 함수는 `init_completion()`으로 `st->completion`을 초기화하기 전에 `devm_request_irq()`를 사용하여 인터럽트 핸들러를 등록합니다. 만약 `devm_request_irq()` 이후와 `init_completion()` 이전에 인터럽트가 발생하면, 핸들러가 초기화되지 않은 completion에 대해 `complete()`를 호출하여 커널 패닉을 유발합니다.

`lpc32xx_adc_probe()`의 probe 경로:

iodev = devm_iio_device_alloc(&pdev->dev, sizeof(*st)); /* st kzalloc-zeroed */ ... retval = devm_request_irq(&pdev->dev, irq, lpc32xx_adc_isr, 0, LPC32XXAD_NAME, st); /* 핸들러 등록 */ ... init_completion(&st->completion); /* completion 초기화 */

`lpc32xx_adc_isr()`는 `complete()`를 호출합니다:

complete(&st->completion);

디바이스가 `init_completion()`이 실행되기 전에 인터럽트를 발생시키면, `complete()`가 초기화되지 않은 wait.lock을 획득하고 `swake_up_locked()`에서 zeroed된 task_list를 순회하게 됩니다. zeroed된 task_list로 인해 `list_empty()`는 false를 반환하므로, `swake_up_locked()`은 NULL list entry를 역참조하여 KASAN wild-memory-access를 트리거합니다."

잘못된 IRQ(spurious IRQ)가 초기화되지 않은 포인터 역참조를 유발할 가능성을 줄이기 위해, `init_completion()` 호출을 `devm_request_irq()` 앞에 배치하십시오.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-383298

EPSS

0.00220

활동

중간

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!