CVE-2026-31408: Bluetooth: SCO: Fix use-after-free in sco_recv_frame() due to missing sock_hold
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: SCO: Fix use-after-free in sco_recv_frame() due to missing sock_hold
sco_recv_frame() reads conn->sk under sco_conn_lock() but immediately
releases the lock without holding a reference to the socket. A concurrent
close() can free the socket between the lock release and the subsequent
sk->sk_state access, resulting in a use-after-free.
Other functions in the same file (sco_sock_timeout(), sco_conn_del())
correctly use sco_sock_hold() to safely hold a reference under the lock.
Fix by using sco_sock_hold() to take a reference before releasing the
lock, and adding sock_put() on all exit paths.
Security readout for executives and security teams
Plain-English summary
A Linux Bluetooth audio socket can be freed while the kernel is still using it. The supplied CVSS assessment indicates that an adjacent attacker could trigger this without privileges or user interaction, potentially affecting system confidentiality, integrity, and availability. Practical exploitability is not established by the supplied evidence.
Executive priority
Prioritize remediation for Bluetooth-capable laptops, mobile devices, embedded systems, kiosks, and edge equipment accessible to nearby untrusted parties. Patch promptly through supported vendor channels. Internet-facing status alone does not determine exposure because the CVSS attack vector is adjacent rather than remote network.
Technical view
A race in sco_recv_frame() releases sco_conn_lock() after reading conn->sk without retaining a socket reference. A concurrent close() can free that socket before sk->sk_state is accessed, causing a kernel use-after-free. Stable fixes retain the socket with sco_sock_hold() and release it using sock_put() on every exit path.
Likely exposure
Exposure is greatest on affected Linux systems where Bluetooth SCO audio functionality is available and reachable by nearby, untrusted devices. Systems without Bluetooth capability or SCO use are likely less exposed. The supplied affected-version data is ambiguous, so distribution-specific backport status must be verified rather than inferred solely from version numbers.
Exploitation context
The CVSS 8.8 vector specifies adjacent-network access, low complexity, no privileges, and no user interaction. However, the bundle marks KEV false and provides no evidence of active exploitation, public proof-of-concept code, or demonstrated real-world compromise. Treat exploitation status as unconfirmed.
Researcher notes
The vulnerable lifetime transition occurs between releasing sco_conn_lock() and accessing sk->sk_state. The patch pattern matches nearby functions that already retain socket references safely. Eight stable-kernel commits are supplied, apparently covering multiple maintained branches. No CWE, exploit demonstration, attack prerequisites beyond the CVSS vector, or reliable fixed-version mapping is provided.
Mitigation direction
Apply a vendor-supported kernel update containing the relevant stable fix or backport.
Check Linux distribution and device-vendor advisories for corrected package versions.
Prioritize Bluetooth-capable endpoints exposed to nearby untrusted devices.
Follow vendor guidance for temporary risk reduction if immediate patching is unavailable.
Validation and detection
Inventory running kernels on systems with Bluetooth hardware or enabled Bluetooth services.
Confirm each kernel package includes the applicable stable fix or vendor backport.
Identify whether Bluetooth SCO functionality is available or operationally required.
After updating, verify the corrected kernel is running, not merely installed.
Review kernel crash telemetry for Bluetooth or socket-related memory faults.
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-2026-31408 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
9Source 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.