In the Linux kernel, the following vulnerability has been resolved:
hwmon: (coretemp) Check for null before removing sysfs attrs
If coretempaddcore() gets an error then pdata->coredata[indx] is already NULL and has been kfreed. Don't pass that to sysfsremovegroup() as that will crash in sysfsremove_group().
[Shortened for readability] [91854.020159] sysfs: cannot create duplicate filename '/devices/platform/coretemp.0/hwmon/hwmon2/temp20label' <cpu offline> [91855.126115] BUG: kernel NULL pointer dereference, address: 0000000000000188 [91855.165103] #PF: supervisor read access in kernel mode [91855.194506] #PF: errorcode(0x0000) - not-present page [91855.224445] PGD 0 P4D 0 [91855.238508] Oops: 0000 [#1] PREEMPT SMP PTI ... [91855.342716] RIP: 0010:sysfsremovegroup+0xc/0x80 ... [91855.796571] Call Trace: [91855.810524] coretempcpuoffline+0x12b/0x1dd [coretemp] [91855.841738] ? coretempcpuonline+0x180/0x180 [coretemp] [91855.871107] cpuhpinvokecallback+0x105/0x4b0 [91855.893432] cpuhpthreadfun+0x8e/0x150 ...
Fix this by checking for NULL first.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@280110db1a7d62ad635b103bafc3ae96e8bef75c",
"target": {
"function": "coretemp_remove_core",
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-16c74dd8",
"signature_version": "v1",
"digest": {
"length": 344.0,
"function_hash": "173712459409848897262961920214301692093"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a89ff5f5cc64b9fe7a992cf56988fd36f56ca82a",
"target": {
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-1b515ebd",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130479723451285730467607238579288079928",
"258996323157848977854543232306962427711",
"82456345034125134523583223136075071518"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a89ff5f5cc64b9fe7a992cf56988fd36f56ca82a",
"target": {
"function": "coretemp_remove_core",
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-388cc355",
"signature_version": "v1",
"digest": {
"length": 344.0,
"function_hash": "173712459409848897262961920214301692093"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@070d5ea4a0592a37ad96ce7f7b6b024f90bb009f",
"target": {
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-424af19b",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130479723451285730467607238579288079928",
"258996323157848977854543232306962427711",
"82456345034125134523583223136075071518"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae6c8b6e5d5628df1c475c0a8fca1465e205c95b",
"target": {
"function": "coretemp_remove_core",
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-4fa47964",
"signature_version": "v1",
"digest": {
"length": 344.0,
"function_hash": "173712459409848897262961920214301692093"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@280110db1a7d62ad635b103bafc3ae96e8bef75c",
"target": {
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-54c73b40",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130479723451285730467607238579288079928",
"258996323157848977854543232306962427711",
"82456345034125134523583223136075071518"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@070d5ea4a0592a37ad96ce7f7b6b024f90bb009f",
"target": {
"function": "coretemp_remove_core",
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-606b8329",
"signature_version": "v1",
"digest": {
"length": 250.0,
"function_hash": "207277914634350683592129020546791501459"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7692700ac818866d138a8de555130a6e70e6ac16",
"target": {
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-8f356b22",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130479723451285730467607238579288079928",
"258996323157848977854543232306962427711",
"82456345034125134523583223136075071518"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ae6c8b6e5d5628df1c475c0a8fca1465e205c95b",
"target": {
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-975e6b9e",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130479723451285730467607238579288079928",
"258996323157848977854543232306962427711",
"82456345034125134523583223136075071518"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@89eecabe6a47403237f45aafd7d24f93cb973653",
"target": {
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-9cce676a",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130479723451285730467607238579288079928",
"258996323157848977854543232306962427711",
"82456345034125134523583223136075071518"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f06e0cd01eab954bd5f2190c9faa79bb5357e05b",
"target": {
"function": "coretemp_remove_core",
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-9f1cc775",
"signature_version": "v1",
"digest": {
"length": 344.0,
"function_hash": "173712459409848897262961920214301692093"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb503d077ff7b43913503eaf72995d1239028b99",
"target": {
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-a76d6b88",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"31452804471426091667370183999526171889",
"258996323157848977854543232306962427711",
"82456345034125134523583223136075071518"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7692700ac818866d138a8de555130a6e70e6ac16",
"target": {
"function": "coretemp_remove_core",
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-ee1b8b2c",
"signature_version": "v1",
"digest": {
"length": 344.0,
"function_hash": "173712459409848897262961920214301692093"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f06e0cd01eab954bd5f2190c9faa79bb5357e05b",
"target": {
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-ee3e3dca",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"130479723451285730467607238579288079928",
"258996323157848977854543232306962427711",
"82456345034125134523583223136075071518"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@89eecabe6a47403237f45aafd7d24f93cb973653",
"target": {
"function": "coretemp_remove_core",
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-f3a9e814",
"signature_version": "v1",
"digest": {
"length": 344.0,
"function_hash": "173712459409848897262961920214301692093"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb503d077ff7b43913503eaf72995d1239028b99",
"target": {
"function": "coretemp_remove_core",
"file": "drivers/hwmon/coretemp.c"
},
"deprecated": false,
"id": "CVE-2022-49010-fea4ffd9",
"signature_version": "v1",
"digest": {
"length": 250.0,
"function_hash": "207277914634350683592129020546791501459"
},
"signature_type": "Function"
}
]