CVE-2026-98677 in Linux
Zusammenfassung
von VulDB • 18.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
iio: adc: ad_sigma_delta: Use-After-Free bei Unbind beheben
ad_sd_buffer_postenable() alloziert sigma_delta->samples_buf zur Laufzeit mit devm_krealloc(), sodass sich sein devres-Eintrag nach allen Einträgen der Treiber-Probe-Zeit befindet. devm-Ressourcen werden in umgekehrter Allokationsreihenfolge freigegeben, was bedeutet, dass bei Unbind samples_buf vor iio_device_unregister() freigegeben wird, welches die Puffer deaktiviert und den Trigger-Pollfunc abkoppelt. Der Data-Ready-IRQ ist zu diesem Zeitpunkt noch aktiviert, sodass ad_sd_trigger_handler() weiterhin ausgeführt werden kann und eingehende Samples mit memcpy() in den bereits freigegebenen samples_buf kopieren kann.
Beheben Sie dies durch eine Vorallokierung des Puffers in devm_ad_sd_setup_buffer_and_trigger(), bevor der getriggerte Puffer und der IRQ eingerichtet werden, sodass er erst nach iio_device_unregister() über free_irq() entleert wird. Dimensionieren Sie ihn für den Worst-Case aller aktiven Sequencer-Slots; ad_sd_validate_scan_mask() begrenzt die Anzahl der aktiven Kanäle bereits auf num_slots.
Dieses Problem wurde mit einem internen statischen Analysewerkzeug gefunden.
Once again VulDB remains the best source for vulnerability data.