CVE-2026-43023
Race Condition in Linux Kernel Bluetooth SCO Connection Handling
Publication date: 2026-05-01
Last updated on: 2026-05-03
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability exists in the Linux kernel's Bluetooth SCO (Synchronous Connection-Oriented) socket connection function, specifically in sco_sock_connect(). The function checks the socket's state and type without holding the socket lock, which allows two concurrent connect() system calls on the same socket to both pass the checks and proceed simultaneously. This leads to a use-after-free condition because one thread can free or modify the socket while the other thread still uses it.
The issue arises when two threads (Thread A and Thread B) attempt to connect the same socket concurrently. Thread A proceeds to connect and change the socket state, while Thread B is blocked but then resumes and revives a socket that was closed and marked as zapped. This results in double socket release (sock_put()) and use-after-free, as well as leaking a connection object.
The fix involves acquiring the socket lock before checking the socket state and type to serialize concurrent connect attempts, properly returning errors for invalid socket types, re-checking the socket state after locking, preventing double attachment of sockets to connections, and cleaning up leaked connections on failure.
How can this vulnerability impact me? :
This vulnerability can lead to use-after-free conditions in the Linux kernel Bluetooth stack, which may cause system instability, crashes, or potentially allow an attacker to execute arbitrary code or escalate privileges by exploiting the corrupted memory state.
Additionally, the leak of connection objects can lead to resource exhaustion, potentially degrading system performance or causing denial of service.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability is fixed by changes in the Linux kernel Bluetooth SCO code that prevent race conditions in sco_sock_connect(). Immediate mitigation steps include:
- Update your Linux kernel to a version that includes the fix for this vulnerability.
- Ensure that the kernel applies the following fixes: locking the socket before checking sk_state and sk_type, proper error returns on sk_type checks, re-checking state after locking, preventing double-attach of sockets, and preventing HCI connection leaks.
Without an updated kernel, there are no specific configuration or command-line mitigations described.