CVE-2024-39462: clk: bcm: dvp: Assign ->num before accessing ->hws
In the Linux kernel, the following vulnerability has been resolved:
clk: bcm: dvp: Assign ->num before accessing ->hws
Commit f316cdff8d67 ("clk: Annotate struct clk_hw_onecell_data with
__counted_by") annotated the hws member of 'struct clk_hw_onecell_data'
with __counted_by, which informs the bounds sanitizer about the number
of elements in hws, so that it can warn when hws is accessed out of
bounds. As noted in that change, the __counted_by member must be
initialized with the number of elements before the first array access
happens, otherwise there will be a warning from each access prior to the
initialization because the number of elements is zero. This occurs in
clk_dvp_probe() due to ->num being assigned after ->hws has been
accessed:
UBSAN: array-index-out-of-bounds in drivers/clk/bcm/clk-bcm2711-dvp.c:59:2
index 0 is out of range for type 'struct clk_hw *[] __counted_by(num)' (aka 'struct clk_hw *[]')
Move the ->num initialization to before the first access of ->hws, which
clears up the warning.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel issue in a Broadcom clock driver where initialization happens in the wrong order. The public description shows a bounds-sanitizer warning, and the stable fixes reorder assignment. Although the supplied CVSS is critical, the evidence points to a narrow kernel-driver defect rather than a confirmed widespread remote attack.
Executive priority
Patch during the next kernel maintenance window for systems confirmed to run affected builds. Escalate faster for internet-facing, embedded, or appliance-like Linux assets where kernel updates are slower and operational visibility is weaker.
Technical view
In drivers/clk/bcm/clk-bcm2711-dvp.c, clk_dvp_probe() accessed ->hws before ->num was initialized. Because struct clk_hw_onecell_data uses __counted_by, UBSAN treated the array as zero length and reported array-index-out-of-bounds. The fix moves ->num initialization before the first ->hws access.
Likely exposure
Exposure appears limited to Linux kernels containing the affected Broadcom BCM2711 DVP clock driver code. The bundle lists Linux 6.6, 6.6.34, 6.9.5, and 6.10 as affected version markers. Confirm with your kernel distributor because downstream backports may change practical exposure.
Exploitation context
The provided bundle does not show active exploitation, and KEV is false. It also does not provide exploit details or a demonstrated impact path beyond the UBSAN bounds warning. Treat the CVSS seriously, but prioritize based on whether affected kernels and the relevant driver are present.
Researcher notes
The source evidence is code-level and remediation-focused. The high CVSS conflicts with the narrow description, so avoid assuming remote exploitability without vendor or researcher confirmation. The useful validation target is the initialization order in clk_dvp_probe() and affected downstream kernel packaging.
Mitigation direction
Update to a kernel build containing the referenced stable fixes.
Check your Linux distribution advisories for backported patches.
Prioritize affected exposed appliances or embedded Linux fleets first.
Track vendor guidance if you cannot immediately update.
Document any temporary deferral and compensating controls.
Validation and detection
Inventory kernel versions across Linux servers, appliances, and images.
Check whether affected builds include the BCM2711 DVP clock driver.
Map deployed kernels against vendor fixed package versions.
Review kernel logs for UBSAN array-index-out-of-bounds messages in clk-bcm2711-dvp.c.
Confirm patched source initializes ->num before ->hws access.
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-400: 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.
1CVSS vectors
3Timeline events
2ADP providers
4Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
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-400 · source CWE mapping
Uncontrolled Resource Consumption
Uncontrolled Resource Consumption represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.