CVE Catalog

CVE-2026-98677

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

Exploitation Probability (EPSS)

Low risk
0.20%

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

Summary

In the Linux kernel IIO ad_sigma_delta driver, samples_buf is allocated at runtime with devm_krealloc(), so its devres entry sits after all probe-time entries. On unbind, samples_buf is freed before iio_device_unregister() disables buffers, and the data ready IRQ is still enabled, allowing ad_sd_trigger_handler() to memcpy() samples into the freed buffer (use-after-free).

Risk Assessment

The use-after-free can lead to kernel memory corruption, system crash, or potential code execution.

Recommendation

Update the Linux kernel to a version where the buffer is preallocated in devm_ad_sd_setup_buffer_and_trigger() before the buffer and IRQ are set up.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: iio: adc: ad_sigma_delta: fix use-after-free on unbind ad_sd_buffer_postenable() allocates sigma_delta->samples_buf with devm_krealloc() at runtime, so its devres entry sits after all probe-time entries of the driver. devm resources are released in reverse allocation order, which means unbind frees samples_buf before iio_device_unregister() disables the buffers and detaches the trigger pollfunc. The data ready IRQ is still enabled at that point, so ad_sd_trigger_handler() can still run and memcpy() incoming samples into the freed samples_buf. Fix this by preallocating the buffer in devm_ad_sd_setup_buffer_and_trigger(), before the triggered buffer and the IRQ are set up, so it is freed only after iio_device_unregister() has drained the trigger handler via free_irq(). Size it for the worst case of all sequencer slots being active; ad_sd_validate_scan_mask() already caps the number of active channels at num_slots. This issue was found by an in-house static analysis tool.

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