CVE-2025-40139: smc: Use __sk_dst_get() and dst_dev_rcu() in in smc_clc_prfx_set().
In the Linux kernel, the following vulnerability has been resolved:
smc: Use __sk_dst_get() and dst_dev_rcu() in in smc_clc_prfx_set().
smc_clc_prfx_set() is called during connect() and not under RCU
nor RTNL.
Using sk_dst_get(sk)->dev could trigger UAF.
Let's use __sk_dst_get() and dev_dst_rcu() under rcu_read_lock()
after kernel_getsockname().
Note that the returned value of smc_clc_prfx_set() is not used
in the caller.
While at it, we change the 1st arg of smc_clc_prfx_set[46]_rcu()
not to touch dst there.
Security readout for executives and security teams
Plain-English summary
A Linux kernel networking flaw can cause memory to be accessed after it has been freed during an SMC connection. A local, low-privileged attacker may be able to trigger serious confidentiality, integrity, or availability impacts. The supplied CVSS score is 7.8, but the sources do not establish active exploitation.
Executive priority
Schedule prompt remediation, prioritizing systems with untrusted local users or shared workloads. Treat this as high priority rather than an emergency internet-wide incident because exploitation requires local access and the supplied sources provide no evidence of active exploitation.
Technical view
During connect(), smc_clc_prfx_set() accessed sk_dst_get(sk)->dev without RCU or RTNL protection, creating a potential use-after-free. The correction accesses the destination and device through RCU-safe helpers under rcu_read_lock() after kernel_getsockname().
Likely exposure
Exposure requires a Linux kernel build containing the vulnerable SMC implementation and a reachable SMC connection path. The supplied affected-version data is ambiguous, so organizations should map deployed kernel packages against vendor advisories and the referenced stable commits rather than relying solely on the listed version strings.
Exploitation context
The CVSS vector describes local access, low privileges, low complexity, and no user interaction, with potentially high confidentiality, integrity, and availability impact. The CVE is not listed as KEV in the supplied bundle, and no cited source confirms public or active exploitation.
Researcher notes
The vulnerable access occurs during connect() without RCU or RTNL protection. The fix uses __sk_dst_get() and dst_dev_rcu() under an RCU read lock and adjusts helper arguments to avoid touching dst there. The caller does not use smc_clc_prfx_set()'s returned value.
Mitigation direction
Update to a vendor-supported kernel release containing the referenced stable correction.
Check distribution or appliance-vendor guidance for package-specific fixed versions.
Prioritize multi-user systems where untrusted local users can reach SMC functionality.
Apply vendor-provided compensating controls if an immediate kernel update is unavailable.
Validation and detection
Inventory running kernel versions across Linux hosts and appliances.
Compare each kernel package with vendor guidance and the referenced stable commits.
Confirm the corrected kernel is active after maintenance.
Assess whether affected systems expose or use the SMC connection path.
Review kernel telemetry for relevant crashes, while recognizing absence does not prove safety.
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.
cve · low confidence lookup
CVE-2025-40139 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
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
0ADP providers
3Source links
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.