Description
In the Linux kernel, the following vulnerability has been resolved:
platform/x86: wmi: Fix opening of char device
Since commit fa1f68db6ca7 ("drivers: misc: pass miscdevice pointer via file private data"), the miscdevice stores a pointer to itself inside filp->private_data, which means that private_data will not be NULL when wmi_char_open() is called. This might cause memory corruption should wmi_char_open() be unable to find its driver, something which can happen when the associated WMI device is deleted in wmi_free_devices().
Fix the problem by using the miscdevice pointer to retrieve the WMI device data associated with a char device using container_of(). This also avoids wmi_char_open() picking a wrong WMI device bound to a driver with the same name as the original driver.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9, < cf098e937dd125c0317a0d6f261ac2a950a233d6; >= 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9, < 9fb0eed09e1470cd4021ff52b2b9dfcbcee4c203; >= 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9, < d426a2955e45a95b2282764105fcfb110a540453; >= 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9, < e0bf076b734a2fab92d8fddc2b8b03462eee7097; >= 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9, < 44a96796d25809502c75771d40ee693c2e44724e; >= 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9, < 36d85fa7ae0d6be651c1a745191fa7ef055db43e; >= 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9, < fb7b06b59c6887659c6ed0ecd3110835eecbb6a3; >= 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9, < eba9ac7abab91c8f6d351460239108bef5e7a0b6 |
| Linux | Linux | 4.15 |
References
- https://git.kernel.org/stable/c/36d85fa7ae0d6be651c1a745191fa7ef055db43ePatch
- https://git.kernel.org/stable/c/44a96796d25809502c75771d40ee693c2e44724ePatch
- https://git.kernel.org/stable/c/9fb0eed09e1470cd4021ff52b2b9dfcbcee4c203Patch
- https://git.kernel.org/stable/c/cf098e937dd125c0317a0d6f261ac2a950a233d6Patch
- https://git.kernel.org/stable/c/d426a2955e45a95b2282764105fcfb110a540453Patch
- https://git.kernel.org/stable/c/e0bf076b734a2fab92d8fddc2b8b03462eee7097Patch
- https://git.kernel.org/stable/c/eba9ac7abab91c8f6d351460239108bef5e7a0b6Patch
- https://git.kernel.org/stable/c/fb7b06b59c6887659c6ed0ecd3110835eecbb6a3Patch
- https://git.kernel.org/stable/c/36d85fa7ae0d6be651c1a745191fa7ef055db43ePatch
- https://git.kernel.org/stable/c/44a96796d25809502c75771d40ee693c2e44724ePatch
- https://git.kernel.org/stable/c/9fb0eed09e1470cd4021ff52b2b9dfcbcee4c203Patch
- https://git.kernel.org/stable/c/cf098e937dd125c0317a0d6f261ac2a950a233d6Patch
- https://git.kernel.org/stable/c/d426a2955e45a95b2282764105fcfb110a540453Patch
- https://git.kernel.org/stable/c/e0bf076b734a2fab92d8fddc2b8b03462eee7097Patch
- https://git.kernel.org/stable/c/eba9ac7abab91c8f6d351460239108bef5e7a0b6Patch
- https://git.kernel.org/stable/c/fb7b06b59c6887659c6ed0ecd3110835eecbb6a3Patch
Timeline
- Published
- May 21, 2024
- Last modified
- Aug 4, 2026
- NVD status
- Modified