CVE-2023-52860·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: drivers/perf: hisi: use cpuhp_state_remove_instance_nocalls() for hisi_hns3_pmu uninit process When tearing down a 'hisi_hns3' PMU, we mistakenly run the CPU hotplug callbacks after the device has been unregistered, leading to fireworks when we try to execute empty function callbacks within the driver: | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000 | CPU: 0 PID: 15 Comm: cpuhp/0 Tainted: G W O 5.12.0-rc4+ #1 | Hardware name: , BIOS KpxxxFPGA 1P B600 V143 04/22/2021 | pstate: 80400009 (Nzcv daif +PAN -UAO -TCO BTYPE=--) | pc : perf_pmu_migrate_context+0x98/0x38c | lr : perf_pmu_migrate_context+0x94/0x38c | | Call trace: | perf_pmu_migrate_context+0x98/0x38c | hisi_hns3_pmu_offline_cpu+0x104/0x12c [hisi_hns3_pmu] Use cpuhp_state_remove_instance_nocalls() instead of cpuhp_state_remove_instance() so that the notifiers don't execute after the PMU device has been unregistered. [will: Rewrote commit message]
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.6.2
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — higher than 4% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Affected versions
From: 6.6
Until: 6.6.2
Fixed in: 6.6.2
How to fix this CVE
Update your Linux kernel to version 6.6.2 or later to resolve this CPU hotplug callback vulnerability in the HiSilicon HNS3 PMU driver. The fix replaces the standard CPU hotplug removal function with a non-calling variant to prevent execution of stale callbacks after device unregistration. Apply this update as soon as possible to avoid kernel NULL pointer dereference crashes during PMU teardown operations.
sudo dnf update kernelDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your kernel version with `uname -r` and verify if it falls within 6.6.0 to 6.6.2
- Step 2: Determine if the hisi_hns3_pmu driver is loaded by running `lsmod | grep hisi_hns3_pmu`
- Step 3: Search system logs for kernel panics containing 'perf_pmu_migrate_context' or 'hisi_hns3_pmu_offline_cpu' using `journalctl -b | grep -E '(perf_pmu_migrate_context|hisi_hns3_pmu_offline_cpu|NULL pointer dereference)'`
- Step 4: After updating, confirm the new kernel version with `uname -r` and verify the hisi_hns3_pmu module reloads without errors during system operation
FAQ
What is CVE-2023-52860?
CVE-2023-52860 is a kernel vulnerability in the HiSilicon HNS3 PMU (Performance Monitoring Unit) driver where CPU hotplug callbacks are incorrectly invoked after the PMU device is unregistered, causing NULL pointer dereference crashes and kernel panics on systems using this hardware.
Is CVE-2023-52860 being actively exploited?
No, CVE-2023-52860 is not listed on the CISA Known Exploited Vulnerabilities catalog and no public exploits are available. It is a local reliability issue requiring system access and specific hardware.
What versions of Kernel are affected by CVE-2023-52860?
Linux kernel versions 6.6.0 through 6.6.2 are affected. The vulnerability is resolved in kernel version 6.6.2 and later.
How do I check if my server is vulnerable to CVE-2023-52860?
Run `uname -r` to check your kernel version. If it shows 6.6.0, 6.6.1, or 6.6.2, and `lsmod | grep hisi_hns3_pmu` returns results, your system is vulnerable. Update to kernel 6.6.2+ to remediate.
Does Defensia detect CVE-2023-52860?
Yes — Defensia's CVE advisory scanner compares installed kernel package versions against the NVD database. If a vulnerable kernel version is installed on a monitored server, CVE-2023-52860 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/3f5827371763f2d9c70719c270055a81d030f3d0
- https://git.kernel.org/stable/c/4589403a343bb0c72a6faf5898386ff964d4e01a
- https://git.kernel.org/stable/c/50b560783f7f71790bcf70e9e9855155fb0af8c1
- https://git.kernel.org/stable/c/d04ff5437a45f275db5530efb49b68d0ec851f6f
- https://git.kernel.org/stable/c/3f5827371763f2d9c70719c270055a81d030f3d0
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52860. Free for 1 server.
Get started free