Skip to main content

Linux Kernel CVE-2026-64557

| EUVDEUVD-2026-50202 HIGH
2026-07-29 Linux GHSA-57gr-rx4p-h42m
8.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

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

Bluetooth-range access gives AV:A; exploiting the UAF requires winning a narrow accept/free race, so AC:H; no auth needed (PR:N) and kernel corruption yields full C/I/A impact.

3.1 AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
7.0 MEDIUM
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

5
Analysis Generated
Jul 30, 2026 - 06:56 vuln.today
CVSS changed
Jul 30, 2026 - 06:37 NVD
8.8 (HIGH)
Patch available
Jul 29, 2026 - 09:01 EUVD
CVE Published
Jul 29, 2026 - 08:01 cve.org
UNKNOWN (no severity yet)
CVE Published
Jul 29, 2026 - 08:01 cve.org
HIGH 8.8

DescriptionCVE.org

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

Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb()

l2cap_sock_new_connection_cb() returned l2cap_pi(sk)->chan after release_sock(parent). Once the parent lock is dropped the newly enqueued child socket sk is reachable via the accept queue, so another task can accept and free it before the callback dereferences sk, resulting in a use-after-free.

Rework the ->new_connection() op so the core, rather than the callback, owns the child channel's lifetime. The op now receives a pre-allocated new_chan and returns an errno instead of allocating and returning a channel. l2cap_new_connection() allocates the child channel and links it into the conn list via __l2cap_chan_add() before invoking the callback, so the conn-list reference keeps the channel alive once release_sock(parent) exposes the socket to other tasks.

Channel configuration that was duplicated in l2cap_sock_init() and the various new_connection callbacks is consolidated into l2cap_chan_set_defaults(), which now inherits from the parent channel when one is supplied.

AnalysisAI

Kernel memory corruption in the Linux kernel Bluetooth L2CAP stack arises from a use-after-free in l2cap_sock_new_connection_cb(), which dereferenced a child socket after release_sock(parent) had already exposed it via the accept queue, letting a racing task accept and free the socket first. Any Linux host with Bluetooth enabled and an L2CAP listening socket is affected; a Bluetooth-adjacent attacker able to trigger new connections can win the race to corrupt freed kernel memory, rated CVSS 3.1 8.8 (C:H/I:H/A:H). There is no public exploit identified at time of analysis and EPSS is low at 0.16%, indicating a proactively fixed memory-safety bug rather than one under active attack.

Technical ContextAI

The flaw is in the kernel's Bluetooth L2CAP (Logical Link Control and Adaptation Protocol) socket layer, which multiplexes higher-layer Bluetooth protocols over ACL links. On an inbound L2CAP connection the core invokes ->new_connection() to create a child channel/socket tied to the parent listening socket. In the buggy code, l2cap_sock_new_connection_cb() returned l2cap_pi(sk)->chan after calling release_sock(parent); dropping the parent lock made the newly enqueued child socket reachable through the accept queue, so a concurrent accept()+close() could free the socket before the callback dereferenced it - a classic use-after-free (functionally CWE-416, though the input lists CWE as N/A). The fix inverts ownership: l2cap_new_connection() allocates the child channel and links it into the conn list via __l2cap_chan_add() before invoking the callback, so the conn-list reference keeps it alive; the callback now receives a pre-allocated new_chan and returns an errno. Duplicated channel configuration was consolidated into l2cap_chan_set_defaults(), which inherits from the parent channel. CPE data identifies the component only generically as cpe:2.3:a:linux:linux.

RemediationAI

Vendor-released patch: update to a fixed stable kernel - 6.1.178, 6.6.145, 6.12.97, 6.18.40, or 7.1.5 (mainline 7.2-rc3), or your distribution's kernel package backporting the corresponding git.kernel.org commits (b39298044e..., 8c37e4338c..., etc.), then reboot to load the new kernel. Because the fix is a kernel-resident code change, no runtime configuration removes the bug on an unpatched kernel. Where immediate patching is not possible and Bluetooth is not required, the most effective compensating control is to disable Bluetooth entirely - unload and blacklist the stack (e.g. blacklist the bluetooth and btusb modules, or systemctl disable --now bluetooth) - which eliminates the attack surface at the cost of all Bluetooth functionality (keyboards, mice, audio, tethering). If Bluetooth must stay enabled, keep the device non-discoverable/non-connectable and restrict which peers can open L2CAP connections to shrink the window an adjacent attacker can trigger, accepting that this reduces but does not remove the race. Track vendor guidance via the NVD advisory (https://nvd.nist.gov/vuln/detail/CVE-2026-64557).

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2026-64557 vulnerability details – vuln.today

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