Skip to main content

Linux kernel EUVDEUVD-2026-108805

| CVE-2026-99011 HIGH
2026-10-23 Linux GHSA-jp44-3rrh-3mww
7.1
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Establish SCO link over Bluetooth
  2. Delivery
    Stream SCO data during connection teardown
  3. Exploit
    Win race on hcon->sco_data pointer
  4. Execution
    Trigger kernel use-after-free
  5. Impact
    Crash or corrupt kernel memory

Vulnerability Assessment

Exploitation Conditions

Exploitation requires Bluetooth-adjacent access (AV:A) to a host with the Bluetooth stack active and an SCO/eSCO audio link in use - the vulnerable path is sco_recv_scodata() in hci_rx_work, which only runs for SCO connections. The specific trigger is a concurrency race: the attacker must cause the RX path to read hcon->sco_data at the same moment the last sco_conn reference is dropped in sco_conn_free() (which cleared the pointer without hdev->lock), per the commit. Limiting factors that reduce realistic risk: the adjacency requirement (not internet-reachable), the need for an established SCO session (reflected as UI:R), and the narrow, timing-dependent race window (AC:H) that makes reliable exploitation difficult rather than a deterministic single-shot trigger. Hosts with Bluetooth disabled or no SCO audio usage are not reachable.

Impact

This is a genuine kernel use-after-free, but the real-world risk signals point to a moderate rather than urgent threat. The CVSS 3.1 vector (AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H, base 7.1) is internally consistent with the commit text: AV:A reflects the Bluetooth-adjacent attack surface, and AC:H is justified by actual evidence - the flaw is a race between sco_recv_scodata() upgrading the weak hcon->sco_data back-pointer under hdev->lock and sco_conn_free() clearing that pointer without the lock, so the attacker must win a narrow timing window rather than exploit a deterministic condition. EPSS is low (0.21%, 10th percentile), the CVE is NOT in CISA KEV, and no public exploit or PoC reference is present (the only links are the stable-tree fix commits), so there is no evidence of exploitation or weaponization. These signals agree: a locally/adjacently reachable, race-dependent kernel bug that is hard to drive remotely. The vuln.today decision label is 'this_week', consistent with 'patch on a normal cadence' rather than emergency. Note a tension worth verifying: the input Tags label this 'Information Disclosure', yet the commit and KASAN trace describe a slab use-after-free write, which is memory corruption (DoS/possible privilege escalation) rather than a pure read primitive - treat the disclosure framing with caution.

Exploit ScenarioDerived

An attacker within Bluetooth range establishes or induces an SCO (audio) link to a target Linux host and then forces connection teardown while SCO data frames are still arriving, racing the RX worker against the freeing of the sco_conn object. If the race is won, hci_rx_work touches hcon->sco_data after the backing sco_conn has been freed, producing a kernel use-after-free that most reliably crashes the host (DoS) and could theoretically be developed toward memory corruption. No public exploit or PoC code has been identified; AC:H and the adjacent vector make reliable exploitation difficult.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 24, 2026

Use-after-free in the Linux kernel Bluetooth SCO receive path can let an unauthenticated Bluetooth-adjacent attacker corrupt or disclose kernel memory while an SCO/eSCO audio link is active. The flaw is a race between sco_recv_scodata() reading hcon->sco_data and sco_conn_free() clearing that pointer without hdev->lock, so reliable exploitation is timing-dependent and requires user interaction to establish the SCO session. Vendor patches are listed for Linux 6.18.57, 7.2.11, and 7.3, EPSS is 0.21% (10th percentile), and no public exploit has been identified at time of analysis.

RemediationAI

Vendor-released patch: Linux 6.18.57, 7.2.11, and 7.3 per EUVD; apply the corresponding stable commits b108ea7ebba147465f4158d8133f0e8f013762ed, 8a98d58f6cfe70d51138cd9ce894e72671d95f8a, and 816fb1590a4c8cf8d05cd076057616be02e276f0 from git.kernel.org or update to a fixed kernel package from the distribution. The advisory reference is https://nvd.nist.gov/vuln/detail/CVE-2026-99011. For systems that cannot be updated, disabling Bluetooth or ensuring no SCO/eSCO audio link is in use removes the reachable path, at the cost of Bluetooth functionality; this is not a complete substitute for applying the kernel fix.

Affected VersionsENISA

Linux patch: 7.2.11
Linux 6.13
Linux e6720779ae612a14ac4ba7fe4fd5b27d900d932c <8a98d58f6cfe70d51138cd9ce894e72671d95f8a
Linux e6720779ae612a14ac4ba7fe4fd5b27d900d932c <b108ea7ebba147465f4158d8133f0e8f013762ed
Linux patch: 0
Linux patch: 7.3
Linux patch: 6.18.57
Linux e6720779ae612a14ac4ba7fe4fd5b27d900d932c <816fb1590a4c8cf8d05cd076057616be02e276f0

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Linux kernel Bluetooth SCO/eSCO audio uses hci_conn objects plus a separate reference-counted sco_conn structure. The RX work item sco_recv_scodata() runs under hdev->lock, looks up hcon->sco_data, and tried to upgrade that weak pointer with kref_get_unless_zero(), but sco_conn_free() cleared hcon->sco_data without hdev->lock, so the pointer could be read while the sco_conn was concurrently freed; kref_get_unless_zero() only rejects a zero refcount and cannot protect memory that has already been freed. The fix gives hcon->sco_data its own reference, clears and drops it only from sco_conn_del() under hdev->lock, and moves hci_conn ownership to the socket so closing a connected SCO socket still tears down the link. The supplied CPE identifies linux:linux; CWE is not provided, but the root-cause class is a use-after-free/refcount-lifetime race, consistent with the KASAN report showing a write in sco_conn_hold_unless_zero from hci_rx_work. The CVSS vector AV:A/AC:H/PR:N/UI:R matches Bluetooth-adjacent access, a timing-dependent race, and user interaction required for SCO session establishment.

Know when Bluetooth gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.1 HIGH
AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI 7.1 HIGH

AV:A for Bluetooth adjacency; AC:H because the commit describes a timing race on hcon->sco_data; PR:N but UI:R since an active SCO link is required; kernel UAF yields full C/I/A.

3.1 AV:A/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:A/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Adjacent
Attack Complexity
High
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Oct 24, 2026 - 14:22 NVD
7.1 (HIGH)
Patch available
Oct 23, 2026 - 13:17 EUVD
CVE Published
Oct 23, 2026 - 12:20 cve.org
HIGH 7.1
CVE Published
Oct 23, 2026 - 12:20 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: SCO: serialise sco_conn lifetime against sco_recv_scodata()

sco_recv_scodata() upgrades the weak hcon->sco_data back-pointer to a strong reference under hdev->lock:

hci_dev_lock(hdev); hcon = hci_conn_hash_lookup_handle(hdev, handle); ... conn = sco_conn_hold_unless_zero(hcon->sco_data); hci_dev_unlock(hdev);

but the pointer is cleared from the other side without that lock. When the last sco_conn reference is dropped, sco_conn_free() ran

conn->hcon->sco_data = NULL;

with no hdev->lock held, so the RX path could read hcon->sco_data and call kref_get_unless_zero() on an sco_conn that was concurrently freed:

BUG: KASAN: slab-use-after-free in sco_conn_hold_unless_zero+0xbe/0x160 Write of size 4 by task kworker/u17:0 Workqueue: hci0 hci_rx_work Call Trace: sco_conn_hold_unless_zero+0xbe/0x160 sco_recv_scodata+0x13f/0x490 hci_rx_work+0x3af/0x730

kref_get_unless_zero() only guards against a zero refcount, not against the backing memory already being freed.

Give hcon->sco_data an actual reference on the sco_conn it points to, so the object cannot be freed while the pointer is still installed, and only clear and drop it from sco_conn_del(), which runs under hdev->lock (its callers, sco_connect_cfm() and sco_disconn_cfm(), hold it). The reader in sco_recv_scodata() also takes hdev->lock, so the store and the read are now serialised: the RX path either observes NULL or a reference that is guaranteed to stay valid until it drops its own.

sco_conn_add() no longer hands its kref_init() reference to the caller as the connection's only reference; that initial reference is the one owned by hcon->sco_data, and callers get their own via sco_conn_hold().

Because the sco_conn can now outlive the socket (the association keeps it alive until the link goes down), the hci_conn can no longer be dropped from sco_conn_free() without regressing socket close: closing a connected SCO socket must still tear the link down. Move hci_conn ownership to the socket instead: __sco_chan_add() takes an hci_conn reference and it is released from sco_chan_del() and sco_sock_destruct(), exactly once. The sco_conn no longer owns an hci_conn reference, so sco_conn_add() stops consuming one and sco_connect() drops the hci_connect_sco() reference on every path; sco_connect_cfm() no longer needs its hci_conn_hold() dance.

Executive ViewAI

Why It Matters

The Linux kernel Bluetooth SCO receive path contains a high-severity memory corruption flaw (CVE-2026-99011) that could allow an attacker within Bluetooth range to read or alter kernel memory. While exploitation requires a timing-dependent race and an active SCO audio link, the broad deployment of Linux in servers, endpoints, and IoT devices means any compromise could lead to data leakage or system instability, undermining trust in our infrastructure.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Ubiquitous
Linux kernel, though reachable only where Bluetooth SCO audio is active
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact
Medium

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2025-65824 HIGH POC
8.8 Dec 10

Unauthenticated Bluetooth Low Energy OTA firmware upgrade in the Meatmeet Pro WiFi & Bluetooth Meat Thermometer firmware

CVE-2025-32879 HIGH POC
8.8 Jun 20

CVE-2025-32879 is a security vulnerability (CVSS 8.8) that allows an attacker. Risk factors: public PoC available.

CVE-2025-10457 HIGH POC
8.1 Sep 19

Zephyr's Bluetooth Low Energy connection-response handler fails to verify that a connection request was actually initiat

CVE-2025-20672 CRITICAL
9.8 Jun 02

Heap OOB write in Android Bluetooth driver via incorrect bounds check.

CVE-2026-55330 CRITICAL
9.8 Oct 06

A use-after-free in the Android Bluetooth stack (bluetooth_ccc.cc, function BluetoothCccHandlerCallbackImpl) lets an att

CVE-2020-10135 MEDIUM POC
5.4 May 19

Legacy pairing and secure-connections pairing authentication in Bluetooth BR/EDR Core Specification v5.2 and earlier may

CVE-2026-19570 HIGH
8.8 Oct 09

Memory corruption in the Zephyr RTOS LE Audio Broadcast Sink (subsys/bluetooth/audio/bap_broadcast_sink.c) lets an attac

CVE-2026-90255 HIGH
8.8 Sep 17

A memory leak combined with a use-after-free in the Linux kernel's Bluetooth HCI connection-setup path can crash the ker

CVE-2026-90256 HIGH
8.8 Sep 17

A race condition in the Linux kernel's Bluetooth L2CAP subsystem allows a use-after-free of the hci_conn::l2cap_data poi

CVE-2026-8374 HIGH
8.5 Oct 09

Bluetooth authentication bypass in SwitchBot Door Lock Series allows an attacker within BLE range to manipulate the lock

CVE-2026-89583 HIGH
8.1 Sep 11

Out-of-bounds read in the Linux kernel Bluetooth subsystem's eir_get_service_data() leaks kernel heap memory into usersp

CVE-2026-90092 HIGH
8.0 Sep 17

Use-after-free in the Linux kernel Bluetooth L2CAP stack lets a Bluetooth-adjacent attacker corrupt kernel memory by rac

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy