CVE-2024-58081: clk: mmp2: call pm_genpd_init() only after genpd.name is set
In the Linux kernel, the following vulnerability has been resolved:
clk: mmp2: call pm_genpd_init() only after genpd.name is set
Setting the genpd's struct device's name with dev_set_name() is
happening within pm_genpd_init(). If it remains NULL, things can blow up
later, such as when crafting the devfs hierarchy for the power domain:
Unable to handle kernel NULL pointer dereference at virtual address 00000000 when read
...
Call trace:
strlen from start_creating+0x90/0x138
start_creating from debugfs_create_dir+0x20/0x178
debugfs_create_dir from genpd_debug_add.part.0+0x4c/0x144
genpd_debug_add.part.0 from genpd_debug_init+0x74/0x90
genpd_debug_init from do_one_initcall+0x5c/0x244
do_one_initcall from kernel_init_freeable+0x19c/0x1f4
kernel_init_freeable from kernel_init+0x1c/0x12c
kernel_init from ret_from_fork+0x14/0x28
Bisecting tracks this crash back to commit 899f44531fe6 ("pmdomain: core:
Add GENPD_FLAG_DEV_NAME_FW flag"), which exchanges use of genpd->name
with dev_name(&genpd->dev) in genpd_debug_add.part().
Security readout for executives and security teams
Plain-English summary
This Linux kernel bug can crash affected systems during power-domain debug initialization. The issue is an ordering mistake: code initializes a power-domain device before its name is set. Business impact is primarily availability, not data theft or privilege escalation, based on the supplied CVSS and description.
Executive priority
Handle through normal kernel maintenance unless affected systems are business-critical or have shown boot crashes. Escalate priority for appliances, embedded systems, or platforms where a local user-triggered crash would disrupt operations.
Technical view
CVE-2024-58081 is a NULL pointer dereference in Linux clk:mmp2 power-domain initialization. pm_genpd_init() sets the genpd device name, but it was called before genpd.name was populated. Later debugfs creation can call strlen on NULL through dev_name(), causing a kernel crash.
Likely exposure
Exposure is limited to Linux kernels and configurations that include the affected clk:mmp2 path and affected versions listed in the CVE source. The bundle names Linux 6.12, 6.12.14, 6.13.3, and 6.14 as affected. Confirm downstream vendor backports before deciding status.
Exploitation context
The CVSS vector is local, low complexity, low privileges, no user interaction, with high availability impact. The source bundle does not show CISA KEV listing or active exploitation. Treat this as a stability and denial-of-service risk rather than confirmed in-the-wild exploitation.
Researcher notes
The evidence supports a NULL pointer dereference caused by initialization order after commit 899f44531fe6 changed genpd debug naming behavior. The provided sources do not establish exploit availability, remote reachability, confidentiality impact, or integrity impact.
Mitigation direction
Map deployed Linux kernels against the affected versions in the CVE record.
Check vendor or Linux stable guidance for fixes containing the referenced commits.
Prioritize updates on systems using the affected clk:mmp2 power-domain path.
Avoid deploying unvalidated affected kernel builds on relevant embedded or platform-specific systems.
Monitor downstream distribution advisories for backported fixes and corrected version status.
Validation and detection
Confirm whether deployed kernels include any referenced stable fix commit.
Review boot or kernel logs for the supplied genpd_debug_init NULL dereference trace.
Check kernel configuration and hardware usage for the clk:mmp2 driver path.
Validate patched kernels boot cleanly on affected platform variants.
Document downstream vendor package versions that contain the fix.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-476: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-476 · source CWE mapping
NULL Pointer Dereference
NULL Pointer Dereference represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.