CVE-2025-39728: clk: samsung: Fix UBSAN panic in samsung_clk_init()
In the Linux kernel, the following vulnerability has been resolved:
clk: samsung: Fix UBSAN panic in samsung_clk_init()
With UBSAN_ARRAY_BOUNDS=y, I'm hitting the below panic due to
dereferencing `ctx->clk_data.hws` before setting
`ctx->clk_data.num = nr_clks`. Move that up to fix the crash.
UBSAN: array index out of bounds: 00000000f2005512 [#1] PREEMPT SMP
<snip>
Call trace:
samsung_clk_init+0x110/0x124 (P)
samsung_clk_init+0x48/0x124 (L)
samsung_cmu_register_one+0x3c/0xa0
exynos_arm64_register_cmu+0x54/0x64
__gs101_cmu_top_of_clk_init_declare+0x28/0x60
...
Security readout for executives and security teams
Plain-English summary
CVE-2025-39728 is a Linux kernel crash issue in Samsung clock initialization code. On affected systems, it can cause a kernel panic under the documented UBSAN array-bounds condition, impacting availability rather than data confidentiality or integrity. Business urgency is highest for Linux systems using Samsung/Exynos/GS101 clock drivers, especially embedded or ARM64 platforms.
Executive priority
Treat as a scheduled availability-risk patch, not an emergency internet-facing vulnerability. Escalate priority for production devices that depend on Samsung clock initialization or have a history of kernel panics.
Technical view
The Linux kernel fixed an out-of-bounds array access in samsung_clk_init(). The issue occurs because ctx->clk_data.hws is dereferenced before ctx->clk_data.num is set to nr_clks. The CVE is classified as CWE-129 with CVSS 3.1 score 5.5, AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H.
Likely exposure
Exposure appears limited to Linux kernels containing the vulnerable Samsung clock driver path. Systems using Samsung/Exynos/GS101 clock controller initialization are most relevant. The provided data does not show remote exposure or impact to non-Linux products.
Exploitation context
No active exploitation is indicated in the provided sources, and the CVE is not marked KEV. The documented impact is a local availability failure: a kernel panic under UBSAN_ARRAY_BOUNDS=y conditions. No confidentiality or integrity impact is reported.
Researcher notes
The available record describes a bounds-ordering bug fixed by moving num assignment before hws dereference. Evidence supports availability impact only. The source bundle does not provide proof of exploitation, a remote trigger, or product impact beyond Linux kernel Samsung clock code.
Mitigation direction
Apply Linux stable kernel updates containing the referenced Samsung clock fix.
For Debian systems, review the linked Debian LTS advisories and update affected kernel packages.
Prioritize Samsung/Exynos/GS101 ARM64 systems and embedded Linux fleets.
If updates are unavailable, monitor vendor guidance rather than applying unverified workarounds.
Validation and detection
Inventory Linux kernel versions across Samsung/Exynos/GS101-related systems.
Check whether deployed kernels include the referenced stable commits.
Review boot or kernel logs for UBSAN array-bounds panics in samsung_clk_init().
Confirm Debian kernel package status against the linked LTS announcements.
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-129: 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.