CVE-2026-89938iio: chemical: atlas-sensor: use iio_trigger_poll_nested() to fix remove UAF
Updated under an hour ago ()
Does this affect you?
It affects Linux. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
In the Linux kernel, the following vulnerability has been resolved: iio: chemical: atlas-sensor: use iio_trigger_poll_nested() to fix remove UAF The atlas driver requests its hardware data-ready IRQ with devm_request_threaded_irq(); its threaded handler queues an irq_work, atlas_work_handler(), that calls iio_trigger_poll(data->trig). The IRQ is devm-managed, so free_irq() runs from the devres unwind after atlas_remove() returns without flushing that irq_work. Once a buffer is enabled, conversion-complete IRQs keep firing and queueing it; a pending irq_work can therefore run after the unwind has freed atlas_data/indio_dev and the trigger, when atlas_work_handler() derives the atlas_data pointer via container_of() and dereferences data->trig, a use-after-free. Call iio_trigger_poll_nested() directly from the threaded handler instead of bouncing through irq_work. free_irq() then drains the threaded handler, closing the window; other iio drivers with a threaded data-ready IRQ do the same (e.g. bmi270). This issue was found by an in-house static analysis tool.
- CVSS
- 7.8 HIGH (v3.1, CNA)CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weakness (CWE)
- Not given
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- Linux
- NVD analysis
- Received
- Record last updated
- Sep 16, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
Linux Linux linux:linux (from the name) | from 7103b99b031cb0ff6979331757bfc4893f37ae9e before f64b437641b5a70c18bb0fd38da2b69d8926c871; 7103b99b031cb0ff6979331757bfc4893f37ae9e builds before 91e12b0fbd7047d02bf4ef4dbc491b9ef0159250; from 7103b99b031cb0ff6979331757bfc4893f37ae9e before 2071624c3d0f497ca91da78858e6f30d7112fea6; 7103b99b031cb0ff6979331757bfc4893f37ae9e builds before 30b0d44c978bbc857bd68b71dab371805653de70; from 7103b99b031cb0ff6979331757bfc4893f37ae9e before be61c8c6252671ecf1fee0ad90f87669e0be1e20 | CNA record |
References
- https://git.kernel.org/stable/c/f64b437641b5a70c18bb0fd38da2b69d8926c871
- https://git.kernel.org/stable/c/91e12b0fbd7047d02bf4ef4dbc491b9ef0159250
- https://git.kernel.org/stable/c/2071624c3d0f497ca91da78858e6f30d7112fea6
- https://git.kernel.org/stable/c/30b0d44c978bbc857bd68b71dab371805653de70
- https://git.kernel.org/stable/c/be61c8c6252671ecf1fee0ad90f87669e0be1e20
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.