CVE-2025-21670: vsock/bpf: return early if transport is not assigned
In the Linux kernel, the following vulnerability has been resolved:
vsock/bpf: return early if transport is not assigned
Some of the core functions can only be called if the transport
has been assigned.
As Michal reported, a socket might have the transport at NULL,
for example after a failed connect(), causing the following trace:
BUG: kernel NULL pointer dereference, address: 00000000000000a0
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 12faf8067 P4D 12faf8067 PUD 113670067 PMD 0
Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI
CPU: 15 UID: 0 PID: 1198 Comm: a.out Not tainted 6.13.0-rc2+
RIP: 0010:vsock_connectible_has_data+0x1f/0x40
Call Trace:
vsock_bpf_recvmsg+0xca/0x5e0
sock_recvmsg+0xb9/0xc0
__sys_recvfrom+0xb3/0x130
__x64_sys_recvfrom+0x20/0x30
do_syscall_64+0x93/0x180
entry_SYSCALL_64_after_hwframe+0x76/0x7e
So we need to check the `vsk->transport` in vsock_bpf_recvmsg(),
especially for connected sockets (stream/seqpacket) as we already
do in __vsock_connectible_recvmsg().
Security readout for executives and security teams
Plain-English summary
CVE-2025-21670 is a Linux kernel flaw that can crash the kernel when a local user reaches a vsock/BPF receive path after transport setup failed. The business impact is availability: affected systems may panic or become unstable, but sources do not indicate data theft or remote compromise.
Executive priority
Treat as a routine but timely availability patch. It is not evidenced as remotely exploitable or actively exploited, but local denial-of-service risk matters on shared infrastructure and critical Linux workloads.
Technical view
The issue is a CWE-476 NULL pointer dereference in Linux vsock/BPF handling. If a socket has vsk->transport set to NULL, such as after failed connect(), vsock_bpf_recvmsg() can call core vsock functions and trigger a kernel oops. The fix returns early when transport is unassigned.
Likely exposure
Exposure is limited to affected Linux kernels and requires local privileges. Risk is higher on multi-user Linux servers, virtualization-heavy environments, or systems where local workloads can interact with vsock paths. Downstream distribution backports may change version-based assessment.
Exploitation context
The CVE is not listed as KEV in the supplied bundle, and no active exploitation evidence is provided. The CVSS vector is local, low complexity, low privilege, no user interaction, with high availability impact only.
Researcher notes
Focus review on vsock_bpf_recvmsg() behavior when vsk->transport is NULL. The supplied trace shows a crash in vsock_connectible_has_data(). The resolved logic aligns BPF receive handling with existing transport checks in __vsock_connectible_recvmsg().
Mitigation direction
Update affected Linux kernels to builds containing the referenced stable fixes.
Check Linux distribution advisories for backported CVE-2025-21670 fixes.
Prioritize shared hosts, virtualization platforms, and systems with untrusted local users.
If patching is delayed, reduce unnecessary local account and workload access.
Validation and detection
Inventory Linux kernel versions across servers, workstations, and VM images.
Confirm installed packages include CVE-2025-21670 or the referenced stable commit fixes.
Review distro kernel changelogs because fixes may be backported without version changes.
Validate no production systems depend on an unpatched affected kernel branch.
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.