VYPR
High severity8.8NVD Advisory· Published Apr 6, 2026· Updated Apr 27, 2026

CVE-2026-31408

CVE-2026-31408

Description

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.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A use-after-free in Linux Bluetooth SCO layer lets local attackers crash the kernel or possibly execute code via a race condition.

Vulnerability

Overview

In the Linux kernel's Bluetooth SCO component, sco_recv_frame() reads the socket pointer conn->sk while holding sco_conn_lock(), but releases the lock before using the socket to check sk->sk_state. If a concurrent close() call frees the socket between the lock release and the state read, the kernel accesses freed memory, leading to a use-after-free bug [1][2][3][4].

Exploitation

Conditions

An attacker must be able to trigger a SCO (Synchronous Connection-Oriented) connection and simultaneously close the associated socket, creating a race window. Local access to Bluetooth functionality is required, but no special privileges beyond the ability to open and close BT sockets are needed [1].

Impact

Successful exploitation can cause a kernel crash (denial of service) or, if the freed memory is reallocated with attacker-controlled data, potentially lead to arbitrary code execution in the kernel context, compromising the entire system [1].

Mitigation

The Linux kernel developers fixed the issue by adding a sco_sock_hold() call to take a reference on the socket before dropping the lock, with corresponding sock_put() calls on all exit paths. Patches are available in the stable kernel trees [2][3][4]. System administrators should apply the latest kernel updates to protect against this vulnerability.

AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

7

News mentions

0

No linked articles in our index yet.