Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: platform/x86: asus-wmi: fix resource leaks on probe failure During driver initialization in asus_wmi_add(), various subsystems are registered sequentially. However, the error path labels are out of order relative to the registration sequence. Specifically: 1. If asus_wmi_custom_fan_curve_init() fails, the driver jumps to fail_custom_fan_curve. Because this label is placed below fail_sysfs, it bypasses the cleanup calls for the input device and sysfs groups, which were successfully registered before, leaking those resources. 2. If asus_screenpad_init() fails, the driver jumps to fail_screenpad. Because fail_screenpad is placed below fail_backlight, it bypasses the cleanup calls for backlight and rfkill, leaking those resources. Fix these resource leaks by reordering the error path labels in asus_wmi_add() to match the exact reverse order of the resource allocations.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 0f0ac158d28ff78e75c334e869b1cb8e69372a1f before 959ed35f8c8f07b8dd43c3f917a43ae2f77e4471; affected 0f0ac158d28ff78e75c334e869b1cb8e69372a1f before 8d5999608da60db45949e5459f74f581cdaacd04; affected 0f0ac158d28ff78e75c334e869b1cb8e69372a1f before 8410cd2690d463b60527d00ac8cffea2d5a041f6; affected 0f0ac158d28ff78e75c334e869b1cb8e69372a1f before 3308b8c5f5a28403611a2f5a46f06aabe4f0c661; affected 0f0ac158d28ff78e75c334e869b1cb8e69372a1f before ef3daa2b84a2b8499ce9e2ce1c865dca36d39f95 |
| Linux / Linux | affected 5.17; unaffected 0 before 5.17; unaffected 6.6.160 through 6.6.*; unaffected 6.12.114 through 6.12.*; unaffected 6.18.57 through 6.18.*; unaffected 7.2.6 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/959ed35f8c8f07b8dd43c3f917a43ae2f77e4471
- https://git.kernel.org/stable/c/8d5999608da60db45949e5459f74f581cdaacd04
- https://git.kernel.org/stable/c/8410cd2690d463b60527d00ac8cffea2d5a041f6
- https://git.kernel.org/stable/c/3308b8c5f5a28403611a2f5a46f06aabe4f0c661
- https://git.kernel.org/stable/c/ef3daa2b84a2b8499ce9e2ce1c865dca36d39f95