Linux: iio: imu: adis16400: fix unprotected debugfs reads
What fixes it
- 50e8d70ba0743f88afd7e49f9cebd1841ee677f5LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
iio: imu: adis16400: fix unprotected debugfs reads
adis16400_serial_number_fops is open coded and never calls debugfs_file_get(), so debugfs_remove_recursive() does not wait for a read in progress and unbind frees the iio_dev underneath it.
Commit ae1d37a9bb4b ("iio: imu: adis16400: use DEFINE_DEBUGFS_ATTRIBUTE instead of DEFINE_SIMPLE_ATTRIBUTE") converted product_id and flash_count to DEFINE_DEBUGFS_ATTRIBUTE, which protects itself, but moved all three files to debugfs_create_file_unsafe().
serial_number prints three registers as "%.4x-%.4x-%.4x" and DEFINE_DEBUGFS_ATTRIBUTE() formats a single u64, so it cannot be converted without changing what the file returns. adis16475 and adis16550 already use debugfs_create_file() for their open coded files. Use it here too.
Text from CVE List
Affected versions 12
- Linuxaffected: ae1d37a9bb4bd8d9091a40d153143e99b115ee37 before d3078aaef8af4648f94eeafde4b7b36efd9838d1CVE List
- Linuxaffected: ae1d37a9bb4bd8d9091a40d153143e99b115ee37 before e9b4c00f775a915b759b08bfe2c5e806a8301a59CVE List
- Linuxaffected: ae1d37a9bb4bd8d9091a40d153143e99b115ee37 before 50e8d70ba0743f88afd7e49f9cebd1841ee677f5CVE List
- Linuxaffected: ae1d37a9bb4bd8d9091a40d153143e99b115ee37 before f501302ebb9e1504162351b951fe3ae331c852abCVE List
- Linuxaffected: ae1d37a9bb4bd8d9091a40d153143e99b115ee37 before d94787287a113a1326211647d5e0deed1e9de105CVE List
- Linuxaffected: 5.8CVE List
- Linuxunaffected: all versions before 5.8CVE List
- Linuxunaffected: 6.6.160 through 6.6.*CVE List
- Linuxunaffected: 6.12.113 through 6.12.*CVE List
- Linuxunaffected: 6.18.56 through 6.18.*CVE List
- Linuxunaffected: 7.2.10 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/d3078aaef8af4648f94eeafde4b7b36efd9838d1Referencevia CVE List
- git.kernel.org/stable/c/e9b4c00f775a915b759b08bfe2c5e806a8301a59Referencevia CVE List
- git.kernel.org/stable/c/50e8d70ba0743f88afd7e49f9cebd1841ee677f5Referencevia CVE List
- git.kernel.org/stable/c/f501302ebb9e1504162351b951fe3ae331c852abReferencevia CVE List
- git.kernel.org/stable/c/d94787287a113a1326211647d5e0deed1e9de105Referencevia CVE List