CVE-2026-89938 in Linuxinfo

Zusammenfassung

von VulDB • 16.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

iio: chemical: atlas-sensor: Verwendung von iio_trigger_poll_nested(), um ein Use-After-Free (UAF) zu beheben

Der Atlas-Treiber fordert seine hardwareseitige IRQ für „Daten bereit“ mit devm_request_threaded_irq() an. Sein threaded Handler stellt eine irq_work in die Warteschlange, atlas_work_handler(), welche iio_trigger_poll(data->trig) aufruft.

Die IRQ ist devm-verwaltet (devm-managed), daher wird free_irq() aus dem devres-Unwind nach der Rückgabe von atlas_remove() ausgeführt, ohne diese irq_work zu leeren. Sobald ein Puffer aktiviert ist, feuern Conversion-Complete-IRQs kontinuierlich und stellen weitere Einträge in die Warteschlange; eine ausstehende irq_work kann daher nach dem Unwind ausgeführt werden, nachdem der Unwind-Prozess atlas_data/indio_dev sowie den Trigger freigegeben hat. In diesem Moment leitet atlas_work_handler() den Zeiger auf atlas_data über container_of() ab und dereferenziert data->trig, was zu einem Use-After-Free führt.

Anstatt umständlich über irq_work zu gehen, wird iio_trigger_poll_nested() direkt aus dem threaded Handler aufgerufen. free_irq() leert daraufhin den threaded Handler, wodurch die Angriffsfläche geschlossen wird; andere IIO-Treiber mit einer threaded IRQ für „Daten bereit“ verfahren ebenso (z. B. bmi270).

Dieses Problem wurde durch ein internes statisches Analyse-Tool entdeckt.

Once again VulDB remains the best source for vulnerability data.

Zuständig

Linux

Reservieren

11.09.2026

Veröffentlichung

17.09.2026

Moderieren

akzeptiert

Eintrag

VDB-405836

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!