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.
Vendor | Product | Version | CPE |
---|---|---|---|
linux | linux_kernel | * | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/platform/x86/wmi.c"
],
"versions": [
{
"version": "44b6b7661132",
"lessThan": "cf098e937dd1",
"status": "affected",
"versionType": "git"
},
{
"version": "44b6b7661132",
"lessThan": "9fb0eed09e14",
"status": "affected",
"versionType": "git"
},
{
"version": "44b6b7661132",
"lessThan": "d426a2955e45",
"status": "affected",
"versionType": "git"
},
{
"version": "44b6b7661132",
"lessThan": "e0bf076b734a",
"status": "affected",
"versionType": "git"
},
{
"version": "44b6b7661132",
"lessThan": "44a96796d258",
"status": "affected",
"versionType": "git"
},
{
"version": "44b6b7661132",
"lessThan": "36d85fa7ae0d",
"status": "affected",
"versionType": "git"
},
{
"version": "44b6b7661132",
"lessThan": "fb7b06b59c68",
"status": "affected",
"versionType": "git"
},
{
"version": "44b6b7661132",
"lessThan": "eba9ac7abab9",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/platform/x86/wmi.c"
],
"versions": [
{
"version": "4.15",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.15",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.299",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.261",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.201",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.139",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.63",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.5.12",
"lessThanOrEqual": "6.5.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.2",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.7",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/36d85fa7ae0d6be651c1a745191fa7ef055db43e
git.kernel.org/stable/c/44a96796d25809502c75771d40ee693c2e44724e
git.kernel.org/stable/c/9fb0eed09e1470cd4021ff52b2b9dfcbcee4c203
git.kernel.org/stable/c/cf098e937dd125c0317a0d6f261ac2a950a233d6
git.kernel.org/stable/c/d426a2955e45a95b2282764105fcfb110a540453
git.kernel.org/stable/c/e0bf076b734a2fab92d8fddc2b8b03462eee7097
git.kernel.org/stable/c/eba9ac7abab91c8f6d351460239108bef5e7a0b6
git.kernel.org/stable/c/fb7b06b59c6887659c6ed0ecd3110835eecbb6a3