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.
Predictions
Heuristic predictions, AS-IS, for prioritization only.
Mitigations
Vendor advisory: redhat — https://access.redhat.com/errata/RHSA-2026:21556
Vendor advisory: debian — https://security-tracker.debian.org/tracker/CVE-2026-31408
Vendor advisory: suse — https://www.suse.com/security/cve/CVE-2026-31408.html
Vendor advisory: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 — https://git.kernel.org/stable/c/e76e8f0581ef555eacc11dbb095e602fb30a5361
Vendor advisory: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 — https://git.kernel.org/stable/c/d57384e27d1ebf0047e3f00a6e1181b8be9857a2
Vendor advisory: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 — https://git.kernel.org/stable/c/b0a7da0e3f7442545f071499beb36374714bb9de
Vendor advisory: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 — https://git.kernel.org/stable/c/7197462e90b8ce15caa1ae15d4bc2bb8cd21b11e
Vendor advisory: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 — https://git.kernel.org/stable/c/598dbba9919c5e36c54fe1709b557d64120cb94b
Vendor advisory: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 — https://git.kernel.org/stable/c/45aaca995e4a7a05b272a58e7ab2fff4f611b8f1
Vendor advisory: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 — https://git.kernel.org/stable/c/108b81514d8f2535eb16651495cefb2250528db3
OS impact
| OS | Version | Status | Fixed in |
|---|---|---|---|
| sles | affected | | |
| rhel | 9 | fixed | |
| debian | bookworm | fixed | 6.1.170-1 |
| debian | bullseye | fixed | 6.1.170-1~deb11u1 |
| debian | forky | fixed | 6.19.11-1 |
| debian | sid | fixed | 6.19.11-1 |
| debian | trixie | fixed | 6.12.85-1 |
| linux-kernel | affected | 5.15.203 | |
| linux-kernel | 2.6.12 | affected | |
| linux-kernel | 7.0 | affected | |
References
- https://git.kernel.org/stable/c/108b81514d8f2535eb16651495cefb2250528db3
- https://git.kernel.org/stable/c/45aaca995e4a7a05b272a58e7ab2fff4f611b8f1
- https://git.kernel.org/stable/c/598dbba9919c5e36c54fe1709b557d64120cb94b
- https://git.kernel.org/stable/c/7197462e90b8ce15caa1ae15d4bc2bb8cd21b11e
- https://git.kernel.org/stable/c/b0a7da0e3f7442545f071499beb36374714bb9de
- https://git.kernel.org/stable/c/d57384e27d1ebf0047e3f00a6e1181b8be9857a2
- https://git.kernel.org/stable/c/e76e8f0581ef555eacc11dbb095e602fb30a5361
- https://www.suse.com/security/cve/CVE-2026-31408.html
- https://security-tracker.debian.org/tracker/CVE-2026-31408
- https://access.redhat.com/errata/RHSA-2026:21556
CWEs
CWE-416
Verify integrity in audit chain (admin only). AS-IS.