Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9 before cf098e937dd125c0317a0d6f261ac2a950a233d6; affected 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9 before 9fb0eed09e1470cd4021ff52b2b9dfcbcee4c203; affected 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9 before d426a2955e45a95b2282764105fcfb110a540453; affected 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9 before e0bf076b734a2fab92d8fddc2b8b03462eee7097; affected 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9 before 44a96796d25809502c75771d40ee693c2e44724e; affected 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9 before 36d85fa7ae0d6be651c1a745191fa7ef055db43e; affected 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9 before fb7b06b59c6887659c6ed0ecd3110835eecbb6a3; affected 44b6b7661132b1b0e5fd3147ded66f1e4a817ca9 before eba9ac7abab91c8f6d351460239108bef5e7a0b6 |
| Linux / Linux | affected 4.15; unaffected 0 before 4.15; unaffected 4.19.299 through 4.19.*; unaffected 5.4.261 through 5.4.*; unaffected 5.10.201 through 5.10.*; unaffected 5.15.139 through 5.15.*; unaffected 6.1.63 through 6.1.*; unaffected 6.5.12 through 6.5.*; unaffected 6.6.2 through 6.6.*; unaffected 6.7 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/cf098e937dd125c0317a0d6f261ac2a950a233d6
- https://git.kernel.org/stable/c/9fb0eed09e1470cd4021ff52b2b9dfcbcee4c203
- https://git.kernel.org/stable/c/d426a2955e45a95b2282764105fcfb110a540453
- https://git.kernel.org/stable/c/e0bf076b734a2fab92d8fddc2b8b03462eee7097
- https://git.kernel.org/stable/c/44a96796d25809502c75771d40ee693c2e44724e
- https://git.kernel.org/stable/c/36d85fa7ae0d6be651c1a745191fa7ef055db43e
- https://git.kernel.org/stable/c/fb7b06b59c6887659c6ed0ecd3110835eecbb6a3
- https://git.kernel.org/stable/c/eba9ac7abab91c8f6d351460239108bef5e7a0b6
ADP enrichment
No English description supplied.
No references supplied.
No English description supplied.
- https://git.kernel.org/stable/c/cf098e937dd125c0317a0d6f261ac2a950a233d6
- https://git.kernel.org/stable/c/9fb0eed09e1470cd4021ff52b2b9dfcbcee4c203
- https://git.kernel.org/stable/c/d426a2955e45a95b2282764105fcfb110a540453
- https://git.kernel.org/stable/c/e0bf076b734a2fab92d8fddc2b8b03462eee7097
- https://git.kernel.org/stable/c/44a96796d25809502c75771d40ee693c2e44724e
- https://git.kernel.org/stable/c/36d85fa7ae0d6be651c1a745191fa7ef055db43e
- https://git.kernel.org/stable/c/fb7b06b59c6887659c6ed0ecd3110835eecbb6a3
- https://git.kernel.org/stable/c/eba9ac7abab91c8f6d351460239108bef5e7a0b6