Linux Kernel up to 6.17.5 arch_topology include/linux/err.h topology_parse_cpu_capacity null pointer dereference

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 5.5 | $0-$5k | 0.00 |
Summary
A vulnerability identified as critical has been detected in Linux Kernel up to 6.17.5. This affects the function topology_parse_cpu_capacity in the library include/linux/err.h of the component arch_topology. This manipulation causes null pointer dereference.
This vulnerability is handled as CVE-2025-40346. There is not any exploit available.
You should upgrade the affected component.
Details
A vulnerability was found in Linux Kernel up to 6.17.5. It has been declared as critical. Affected by this vulnerability is the function topology_parse_cpu_capacity in the library include/linux/err.h of the component arch_topology. The manipulation with an unknown input leads to a null pointer dereference vulnerability. The CWE definition for the vulnerability is CWE-476. A NULL pointer dereference occurs when the application dereferences a pointer that it expects to be valid, but is NULL, typically causing a crash or exit. As an impact it is known to affect availability. The summary by CVE is:
In the Linux kernel, the following vulnerability has been resolved: arch_topology: Fix incorrect error check in topology_parse_cpu_capacity() Fix incorrect use of PTR_ERR_OR_ZERO() in topology_parse_cpu_capacity() which causes the code to proceed with NULL clock pointers. The current logic uses !PTR_ERR_OR_ZERO(cpu_clk) which evaluates to true for both valid pointers and NULL, leading to potential NULL pointer dereference in clk_get_rate(). Per include/linux/err.h documentation, PTR_ERR_OR_ZERO(ptr) returns: "The error code within @ptr if it is an error pointer; 0 otherwise." This means PTR_ERR_OR_ZERO() returns 0 for both valid pointers AND NULL pointers. Therefore !PTR_ERR_OR_ZERO(cpu_clk) evaluates to true (proceed) when cpu_clk is either valid or NULL, causing clk_get_rate(NULL) to be called when of_clk_get() returns NULL. Replace with !IS_ERR_OR_NULL(cpu_clk) which only proceeds for valid pointers, preventing potential NULL pointer dereference in clk_get_rate().
It is possible to read the advisory at git.kernel.org. This vulnerability is known as CVE-2025-40346 since 04/16/2025. Technical details of the vulnerability are known, but there is no available exploit.
The vulnerability scanner Nessus provides a plugin with the ID 278927 (Linux Distros Unpatched Vulnerability : CVE-2025-40346), which helps to determine the existence of the flaw in a target environment.
Upgrading to version 5.10.246, 5.15.196, 6.1.158, 6.6.115, 6.12.56 or 6.17.6 eliminates this vulnerability. Applying the patch 64da320252e43456cc9ec3055ff567f168467b37/a77f8434954cb1e9c42c3854e40855fdcf5ab235/3373f263bb647fcc3b5237cfaef757633b9ee25e/45379303124487db3a81219af7565d41f498167f/3a01b2614e84361aa222f67bc628593987e5cdb2/2eead19334516c8e9927c11b448fbe512b1f18a1 is able to eliminate this problem. The bugfix is ready for download at git.kernel.org. The best possible mitigation is suggested to be upgrading to the latest version.
The vulnerability is also documented in the databases at Tenable (278927) and CERT Bund (WID-SEC-2025-2868). Be aware that VulDB is the high quality source for vulnerability data.
Affected
- Debian Linux
- Amazon Linux 2
- Red Hat Enterprise Linux
- Ubuntu Linux
- SUSE Linux
- Oracle Linux
- SUSE openSUSE
- RESF Rocky Linux
- Open Source Linux Kernel
Product
Type
Vendor
Name
Version
- 5.10.245
- 5.15.195
- 6.1.157
- 6.6.114
- 6.12.0
- 6.12.1
- 6.12.2
- 6.12.3
- 6.12.4
- 6.12.5
- 6.12.6
- 6.12.7
- 6.12.8
- 6.12.9
- 6.12.10
- 6.12.11
- 6.12.12
- 6.12.13
- 6.12.14
- 6.12.15
- 6.12.16
- 6.12.17
- 6.12.18
- 6.12.19
- 6.12.20
- 6.12.21
- 6.12.22
- 6.12.23
- 6.12.24
- 6.12.25
- 6.12.26
- 6.12.27
- 6.12.28
- 6.12.29
- 6.12.30
- 6.12.31
- 6.12.32
- 6.12.33
- 6.12.34
- 6.12.35
- 6.12.36
- 6.12.37
- 6.12.38
- 6.12.39
- 6.12.40
- 6.12.41
- 6.12.42
- 6.12.43
- 6.12.44
- 6.12.45
- 6.12.46
- 6.12.47
- 6.12.48
- 6.12.49
- 6.12.50
- 6.12.51
- 6.12.52
- 6.12.53
- 6.12.54
- 6.12.55
- 6.17.0
- 6.17.1
- 6.17.2
- 6.17.3
- 6.17.4
- 6.17.5
License
Website
- Vendor: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 5.7VulDB Meta Temp Score: 5.5
VulDB Base Score: 5.7
VulDB Temp Score: 5.5
VulDB Vector: 🔒
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Reliability: 🔍
Exploiting
Class: Null pointer dereferenceCWE: CWE-476 / CWE-404
CAPEC: 🔒
ATT&CK: 🔒
Physical: No
Local: No
Remote: Partially
Availability: 🔒
Status: Not defined
EPSS Score: 🔒
EPSS Percentile: 🔒
Price Prediction: 🔍
Current Price Estimation: 🔒
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 278927
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2025-40346
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 5.10.246/5.15.196/6.1.158/6.6.115/6.12.56/6.17.6
Patch: 64da320252e43456cc9ec3055ff567f168467b37/a77f8434954cb1e9c42c3854e40855fdcf5ab235/3373f263bb647fcc3b5237cfaef757633b9ee25e/45379303124487db3a81219af7565d41f498167f/3a01b2614e84361aa222f67bc628593987e5cdb2/2eead19334516c8e9927c11b448fbe512b1f18a1
Timeline
04/16/2025 CVE reserved12/16/2025 Advisory disclosed
12/16/2025 VulDB entry created
02/21/2026 VulDB entry last update
Sources
Vendor: kernel.orgAdvisory: git.kernel.org
Status: Confirmed
CVE: CVE-2025-40346 (🔒)
GCVE (CVE): GCVE-0-2025-40346
GCVE (VulDB): GCVE-100-336751
CERT Bund: WID-SEC-2025-2868 - Linux Kernel: Mehrere Schwachstellen
Entry
Created: 12/16/2025 16:00Updated: 02/21/2026 03:22
Changes: 12/16/2025 16:00 (60), 12/17/2025 17:01 (2), 01/14/2026 01:43 (7), 01/19/2026 13:19 (1), 02/02/2026 12:46 (1), 02/16/2026 10:48 (1), 02/21/2026 03:22 (1)
Complete: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.