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

Bluetooth: L2CAP: fix out-of-bounds write in l2cap_ecred_connect

l2cap_chan_connect() tries to ensure there are no more than
L2CAP_ECRED_CONN_SCID_MAX pending ECRED channels, so they fit in the
same L2CAP_ECRED_CONN_REQ that l2cap_ecred_connect() constructs.

However, the check only counts deferred channels. If 6 L2CAP sockets
are connected at the same time in order DDDDND (D=deferred,
N=non-deferred), the last can bump the total to max+1. It results to
one __le16 written out of bounds of the scid array, and an invalid
ECRED_CONN_REQ being sent.

Fix by leaving room for the non-deferred pending ECRED channels in the
counting in l2cap_chan_connect(), so the limit can't be exceeded.

Move counting under same critical section where the channel is added.
Although race conditions involving this appear unreachable, it's easier
to see.

Also add WARN_ON_ONCE check in l2cap_ecred_defer_connect() to make this
less brittle.
Published: 2026-09-25
Score: n/a
EPSS: n/a
KEV: No
Impact: Kernel memory corruption
Action: Immediate Patch
AI Analysis

Impact

The Linux kernel’s Bluetooth L2CAP module contains an out‑of‑bounds write in the ecred connect routine. When several L2CAP sockets connect simultaneously, the code miscounts deferred channels and writes a 16‑bit value past the end of a SCID array. This overflow corrupts kernel memory and results in a malformed ECRED_CONN_REQ being sent. The weakness matches CWE‑788.

Affected Systems

All Linux kernels that include the legacy Bluetooth L2CAP subsystem and have not incorporated the fixes in commits 56c2b5831d39dc84aad2573dc3e197af1a872a05, 6da5c0331fc3ef0c7b8df8269523fc3b2cce1e65, ce0927eb3ee2939fab5ce3f9334bfd2fafb38481, or df8c3af6132640da4788e96a02d653e642059803 are vulnerable. Users of distributions shipping kernels prior to the inclusion of these commits—and that have L2CAP enabled on an active Bluetooth interface—are at risk.

Risk and Exploitability

The EPSS score is not available and the vulnerability is not listed in the CISA KEV catalog, so no known active exploits exist at this time. The likely attack vector is remote: a malicious Bluetooth device may initiate a carefully crafted L2CAP connection to trigger the overflow. The potential impact is not fully detailed but could affect system stability or the operation of the Bluetooth subsystem. Prompt patching removes the flaw and restores normal kernel behavior.

Generated by OpenCVE AI on September 25, 2026 at 13:49 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that incorporates commits 56c2b5831d39dc84aad2573dc3e197af1a872a05, 6da5c0331fc3ef0c7b8df8269523fc3b2cce1e65, ce0927eb3ee2939fab5ce3f9334bfd2fafb38481, and df8c3af6132640da4788e96a02d653e642059803 to fix the out‑of‑bounds write.
  • If the latest kernel cannot be applied immediately, unload or disable the Bluetooth L2CAP kernel module to prevent vulnerable code from executing.
  • Configure host firewall or Bluetooth access controls to block or restrict L2CAP traffic from unknown or untrusted devices.
  • Limit the Bluetooth adapter to trusted devices using host‑side ACLs or bonding to further reduce exposure.

Generated by OpenCVE AI on September 25, 2026 at 13:49 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 25 Sep 2026 14:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-788

Fri, 25 Sep 2026 10:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: fix out-of-bounds write in l2cap_ecred_connect l2cap_chan_connect() tries to ensure there are no more than L2CAP_ECRED_CONN_SCID_MAX pending ECRED channels, so they fit in the same L2CAP_ECRED_CONN_REQ that l2cap_ecred_connect() constructs. However, the check only counts deferred channels. If 6 L2CAP sockets are connected at the same time in order DDDDND (D=deferred, N=non-deferred), the last can bump the total to max+1. It results to one __le16 written out of bounds of the scid array, and an invalid ECRED_CONN_REQ being sent. Fix by leaving room for the non-deferred pending ECRED channels in the counting in l2cap_chan_connect(), so the limit can't be exceeded. Move counting under same critical section where the channel is added. Although race conditions involving this appear unreachable, it's easier to see. Also add WARN_ON_ONCE check in l2cap_ecred_defer_connect() to make this less brittle.
Title Bluetooth: L2CAP: fix out-of-bounds write in l2cap_ecred_connect
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-25T10:35:56.340Z

Reserved: 2026-09-25T10:25:14.316Z

Link: CVE-2026-98107

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:41.743

Modified: 2026-09-25T11:17:41.743

Link: CVE-2026-98107

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-25T14:00:13Z

Weaknesses
  • CWE-788

    Access of Memory Location After End of Buffer