CVE-2026-64500 in Linux
Sumário
de VulDB • 27/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
iio: adc: lpc32xx: Inicializar completion antes de solicitar IRQ
No relatório de Jaeyoung Chung:
"lpc32xx_adc_probe() em drivers/iio/adc/lpc32xx_adc.c registra seu manipulador de interrupção com devm_request_irq() antes de inicializar st->completion com init_completion(). Se uma interrupção ocorrer após devm_request_irq() e antes de init_completion(), o manipulador chama complete() em um completion não inicializado, causando um kernel panic.
O caminho do probe, em lpc32xx_adc_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); /* register handler */ ... init_completion(&st->completion); /* initialize completion */
lpc32xx_adc_isr() chama complete():
complete(&st->completion);
Se o dispositivo gerar uma interrupção antes de init_completion() ser executado, complete() adquire a wait.lock não inicializada e percorre a task_list zerada em swake_up_locked(). A task_list zerada faz com que list_empty() retorne false, então swake_up_locked() dereferenceia um entry NULL da lista, acionando uma wild-memory-access do KASAN."
Corrigir a chance de uma IRQ espúria causar o dereferenciamento de um ponteiro não inicializado movendo init_completion() para acima de devm_request_irq().
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.