iio: adc: at91-sama5d2_adc: Fix potential use-after-free in sama5d2_adc driver
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: iio: adc: at91-sama5d2_adc: Fix potential use-after-free in sama5d2_adc driver at91_adc_interrupt can call at91_adc_touch_data_handler function to start the work by schedule_work(&st->touch_st.workq). If we remove the module which will call at91_adc_remove to make cleanup, it will free indio_dev through iio_device_unregister but quite a bit later. While the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows: CPU0 CPU1 | at91_adc_workq_handler at91_adc_remove | iio_device_unregister(indio_dev) | //free indio_dev a bit later | | iio_push_to_buffers(indio_dev) | //use indio_dev Fix it by ensuring that the work is canceled before proceeding with the cleanup in at91_adc_remove.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
4.19
References 7
git.kernel.org
- stable/c/4c83dd62595ee7b7c9298a4d19a256b6647e7240
- stable/c/fdc8c835c637a3473878d1e7438c77ab8928af63
- stable/c/919d176b05776c7ede79c36744c823a07d631617
- stable/c/9795fe80976f8c31cafda7d44edfc0f532d1f7c4
- stable/c/d7b6fc224c7f5d6d8adcb18037138d3cfe2bbdfe
- stable/c/d890234a91570542c228a20f132ce74f9fedd904
- stable/c/dbdb442218cd9d613adeab31a88ac973f22c4873