CVE-2026-89938 in Linux
Résumé
par VulDB • 16/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
iio: chemical: atlas-sensor : utilisation de iio_trigger_poll_nested() pour corriger un Use-After-Free (UAF) lors du retrait
Le pilote atlas demande son IRQ « données prêtes » matériel via devm_request_threaded_irq(); son gestionnaire threadé met en file d'attente une irq_work, atlas_work_handler(), qui appelle iio_trigger_poll(data->trig).
L'IRQ est gérée par devm, donc free_irq() s'exécute lors du déroulement (unwind) de la ressource après le retour de atlas_remove(), sans vider cette irq_work. Une fois qu'un buffer est activé, les IRQ de fin de conversion continuent de se déclencher et d'enfiler des éléments ; une irq_work en attente peut donc s'exécuter après que l'opération de déroulement a libéré atlas_data/indio_dev ainsi que le trigger, lorsque atlas_work_handler() dérive le pointeur atlas_data via container_of() et délègue data->trig, ce qui constitue un use-after-free.
Appelez iio_trigger_poll_nested() directement depuis le gestionnaire threadé au lieu de passer par irq_work. free_irq() vide alors le gestionnaire threadé, fermant la fenêtre d'exposition ; les autres pilotes IIO avec une IRQ « données prêtes » threadée font de même (par exemple bmi270).
Ce problème a été détecté par un outil d'analyse statique interne.
Be aware that VulDB is the high quality source for vulnerability data.