CVE-2026-31408 Bluetooth: SCO: Fix use-after-free in sco_recv_frame() due to missing sock_hold
A use-after-free in the Linux kernel Bluetooth SCO module allows attackers to execute arbitrary code or escalate privileges via concurrent socket operations.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-31408?
CVE-2026-31408 is a high-severity use after free vulnerability in Linux kernel, published on 6 Apr 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official 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.
Weakness: CWE-416
Which versions are affected by CVE-2026-31408?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-31408?
Apply the vendor's patch.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2026-31408 being exploited?
There is no known exploitation of CVE-2026-31408 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-81870, BELL-CVE-2026-31408, DEBIAN-CVE-2026-31408, GHSA-82h6-xw4j-pq2m, ROOT-OS-DEBIAN-11-CVE-2026-31408, ROOT-OS-DEBIAN-12-CVE-2026-31408 and 4 more.