Linux: hwmon: (w83791d) remove fan/pwm 4-5 sysfs group on remove
What fixes it
- 081e3a78453635fb370b1712809d2af29e60b4c5LinuxCVE List
- 2ccf6c512290a288a2d4d7f076430dfb0c6ee476LinuxCVE List
- 2dd37d00f1f1af8e02ffa70ee573c10fd1a76864LinuxCVE List
- 2c381e6e0f033f2df13bd64905e7232c42f49009LinuxCVE List
- 583e04e88e75b8d57304015d83c38e82a9531600LinuxCVE List
- 0ff9c7775e51ac6d47b1bb5c46f06b1434fe58a8LinuxCVE 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:
hwmon: (w83791d) remove fan/pwm 4-5 sysfs group on remove
When the fan/pwm 4-5 pins are not used as GPIO, w83791d_probe() creates the w83791d_group_fanpwm45 sysfs group on the I2C client device.
The probe error path removes this group when a later initialization step fails, but the normal remove path only removes w83791d_group. As a result, the optional fan/pwm 4-5 sysfs files can remain after the driver is unbound.
The callbacks associated with these files access the driver data, which is devm allocated and released after driver unbind. Leaving the sysfs files behind can therefore result in accesses to stale driver data.
Remove w83791d_group_fanpwm45 during normal teardown as well.
This issue was found by manual code inspection.
Text from CVE List
Affected versions 18
- Linuxaffected: 6e1ecd9b8f1358ed4d099f0c54434240dc40debe before 081e3a78453635fb370b1712809d2af29e60b4c5CVE List
- Linuxaffected: 6e1ecd9b8f1358ed4d099f0c54434240dc40debe before b1d419eb3bc41245c3d3d99dfe1a7b6c45989586CVE List
- Linuxaffected: 6e1ecd9b8f1358ed4d099f0c54434240dc40debe before 2ccf6c512290a288a2d4d7f076430dfb0c6ee476CVE List
- Linuxaffected: 6e1ecd9b8f1358ed4d099f0c54434240dc40debe before f6e2ab72f32d16d71a2549c7ea062dd209f71670CVE List
- Linuxaffected: 6e1ecd9b8f1358ed4d099f0c54434240dc40debe before 2dd37d00f1f1af8e02ffa70ee573c10fd1a76864CVE List
- Linuxaffected: 6e1ecd9b8f1358ed4d099f0c54434240dc40debe before 2c381e6e0f033f2df13bd64905e7232c42f49009CVE List
- Linuxaffected: 6e1ecd9b8f1358ed4d099f0c54434240dc40debe before 583e04e88e75b8d57304015d83c38e82a9531600CVE List
- Linuxaffected: 6e1ecd9b8f1358ed4d099f0c54434240dc40debe before 0ff9c7775e51ac6d47b1bb5c46f06b1434fe58a8CVE List
- Linuxaffected: 2.6.28CVE List
- Linuxunaffected: all versions before 2.6.28CVE List
- Linuxunaffected: 5.10.271 through 5.10.*CVE List
- Linuxunaffected: 5.15.222 through 5.15.*CVE List
- Linuxunaffected: 6.1.189 through 6.1.*CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.112 through 6.12.*CVE List
- Linuxunaffected: 6.18.54 through 6.18.*CVE List
- Linuxunaffected: 7.2.8 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 8
- git.kernel.org/stable/c/081e3a78453635fb370b1712809d2af29e60b4c5Referencevia CVE List
- git.kernel.org/stable/c/b1d419eb3bc41245c3d3d99dfe1a7b6c45989586Referencevia CVE List
- git.kernel.org/stable/c/2ccf6c512290a288a2d4d7f076430dfb0c6ee476Referencevia CVE List
- git.kernel.org/stable/c/f6e2ab72f32d16d71a2549c7ea062dd209f71670Referencevia CVE List
- git.kernel.org/stable/c/2dd37d00f1f1af8e02ffa70ee573c10fd1a76864Referencevia CVE List
- git.kernel.org/stable/c/2c381e6e0f033f2df13bd64905e7232c42f49009Referencevia CVE List
- git.kernel.org/stable/c/583e04e88e75b8d57304015d83c38e82a9531600Referencevia CVE List
- git.kernel.org/stable/c/0ff9c7775e51ac6d47b1bb5c46f06b1434fe58a8Referencevia CVE List