CVE-2023-53250
Description
In the Linux kernel, the following vulnerability has been resolved: firmware: dmi-sysfs: Fix null-ptr-deref in dmi_sysfs_register_handle KASAN reported a null-ptr-deref error: KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] CPU: 0 PID: 1373 Comm: modprobe Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:dmi_sysfs_entry_release ... Call Trace: <TASK> kobject_put dmi_sysfs_register_handle (drivers/firmware/dmi-sysfs.c:540) dmi_sysfs dmi_decode_table (drivers/firmware/dmi_scan.c:133) dmi_walk (drivers/firmware/dmi_scan.c:1115) dmi_sysfs_init (drivers/firmware/dmi-sysfs.c:149) dmi_sysfs do_one_initcall (init/main.c:1296) ... Kernel panic - not syncing: Fatal exception Kernel Offset: 0x4000000 from 0xffffffff81000000 ---[ end Kernel panic - not syncing: Fatal exception ]--- It is because previous patch added kobject_put() to release the memory which will call dmi_sysfs_entry_release() and list_del(). However, list_add_tail(entry->list) is called after the error block, so the list_head is uninitialized and cannot be deleted. Move error handling to after list_add_tail to fix this.
CVSS Details
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Threat Intelligence
Weaknesses 1
Affected Products 9
| Vendor | Product | Version | Range |
|---|---|---|---|
| linux | linux_kernel | * | ≥4.9.318 – <4.10 |
| linux | linux_kernel | * | ≥4.14.283 – <4.15 |
| linux | linux_kernel | * | ≥4.19.247 – <4.20 |
| linux | linux_kernel | * | ≥5.4.198 – <5.5 |
| linux | linux_kernel | * | ≥5.10.122 – <5.11 |
| linux | linux_kernel | * | ≥5.15.47 – <5.15.99 |
| linux | linux_kernel | * | ≥5.17.15 – <5.18 |
| linux | linux_kernel | * | ≥5.18.4 – <6.1.16 |
| linux | linux_kernel | * | ≥6.2 – <6.2.3 |
References 4
- git.kernel.org https://git.kernel.org/stable/c/18e126e97c961f7a93823795c879d7c085fe5098
- git.kernel.org https://git.kernel.org/stable/c/5d0492d1d934642bdfd2057acc1b56f4b57be465
- git.kernel.org https://git.kernel.org/stable/c/b4fe158259fb5fead52ff2b55841ec5c39492604
- git.kernel.org https://git.kernel.org/stable/c/e851996b32264e78a10863c2ac41a8689d7b9252
Remediation
- git.kernel.org https://git.kernel.org/stable/c/18e126e97c961f7a93823795c879d7c085fe5098
- git.kernel.org https://git.kernel.org/stable/c/5d0492d1d934642bdfd2057acc1b56f4b57be465
- git.kernel.org https://git.kernel.org/stable/c/b4fe158259fb5fead52ff2b55841ec5c39492604
- git.kernel.org https://git.kernel.org/stable/c/e851996b32264e78a10863c2ac41a8689d7b9252