CVE Catalog

CVE-2026-99189

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, the mxc GPIO driver installs the chained IRQ handler (mxc_update_irq_chained_handler()) before the IRQ domain, generic IRQ chip and port list entry are set up. An interrupt in that window causes a NULL dereference or access to an incomplete list, and failures in later probe steps leave a dangling handler pointing at freed memory.

Risk Assessment

A kernel crash or use-after-free can occur during GPIO initialization, leading to denial of service or system instability. It requires the specific driver and an interrupt arriving in the critical window.

Recommendation

Update the kernel to a version containing the fix that moves handler installation after dependencies are ready and after list_add_tail(). Until then, avoid dynamically loading/unloading this driver on affected platforms.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: gpio: mxc: fix race between chained IRQ handler install and probe completion mxc_update_irq_chained_handler() is called before the IRQ domain, the generic IRQ chip, and the port list entry are set up. If an interrupt arrives in that window: - mx3_gpio_irq_handler() calls generic_handle_domain_irq() with port->domain still NULL. - mx2_gpio_irq_handler() walks mxc_gpio_ports, but the port has not been added to the list yet. Additionally, if any of the subsequent probe steps (gpio_generic_chip_init(), devm_gpiochip_add_data(), irq_domain_create_legacy(), or mxc_gpio_init_gc()) fail, the error paths never unregister the chained handler, leaving a dangling handler that points at freed memory. Move the handler installation after all its dependencies are ready and after list_add_tail(), so the handler is never live while the data structures it touches are incomplete, and is never installed if probe fails.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS