CVE Catalog

CVE-2026-98670

Low risk· EPSS 6%
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.17%

6th percentile - higher than 6% of all known CVEs

Summary

In the Linux kernel, the iio: adc: xilinx-xadc driver has an issue with resource release ordering on unbind. The ZYNQ XADC alarm IRQ handler queues zynq_unmask_work, which is cleared by a devm callback. The devm callback must be registered before devm_request_irq() so the IRQ is freed first. Otherwise the handler could re-arm the work and run it after the xadc structure has been freed.

Risk Assessment

May lead to use-after-free and kernel panic during unbind of the XADC driver on ZYNQ platforms, causing system unavailability.

Recommendation

Update the Linux kernel to a version containing the fix that changes the registration order of the devm callback and IRQ request. Avoid frequent unbinding of the xilinx-xadc driver until the update.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: iio: adc: xilinx-xadc: free IRQ before cancelling the unmask worker on unbind The ZYNQ XADC alarm IRQ handler queues zynq_unmask_work via schedule_delayed_work(); that work is cleared by a devm callback. Register the devm callback before devm_request_irq() so the devres LIFO teardown frees the IRQ first, ensuring the handler can no longer queue work by the time the workqueue is cleared. Otherwise the handler could re-arm the work and run it after the xadc structure has been freed. This issue was found by an in-house static analysis tool.

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