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

Bluetooth: L2CAP: Fix ERTM re-init and zero pdu_len infinite loop

l2cap_config_req() processes CONFIG_REQ for channels in BT_CONNECTED
state to support L2CAP reconfiguration (e.g. MTU changes). However,
since both CONF_INPUT_DONE and CONF_OUTPUT_DONE are already set from
the initial configuration, the reconfiguration path falls through to
l2cap_ertm_init(), which re-initializes tx_q, srej_q, srej_list, and
retrans_list without freeing the previous allocations and sets
chan->sdu to NULL without freeing the existing skb. This leaks all
previously allocated ERTM resources.

Additionally, l2cap_parse_conf_req() does not validate the minimum
value of remote_mps derived from the RFC max_pdu_size option. A zero
value propagates to l2cap_segment_sdu() where pdu_len becomes zero,
causing the while loop to never terminate since len is never
decremented, exhausting all available memory.

Fix the double-init by skipping l2cap_ertm_init() and
l2cap_chan_ready() when the channel is already in BT_CONNECTED state,
while still allowing the reconfiguration parameters to be updated
through l2cap_parse_conf_req(). Also add a pdu_len zero check in
l2cap_segment_sdu() as a safeguard.
Published: 2026-04-22
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service through memory exhaustion and infinite loop
Action: Immediate Patch
AI Analysis

Impact

The vulnerability originates from the Linux kernel’s Bluetooth L2CAP implementation, where a reconfiguration request on an already connected channel re‑initializes ERTM data structures without freeing prior allocations, leading to memory leaks of all previously allocated resources. Additionally, a missing validation of the remote maximum packet size allows a zero value to propagate into the segmentation routine, causing an infinite loop that consumes all available memory. An attacker who can trigger repeated reconfiguration or provide malformed configuration values could exhaust system memory or cause the kernel to hang, resulting in denial of service.

Affected Systems

This issue affects the Linux kernel itself, specifically the Bluetooth L2CAP subsystem in all kernel releases that include the affected code paths. The exact kernel versions are not enumerated in the supplied data, but any kernel with the L2CAP reconfiguration logic will be impacted. Since the CNA list lists Linux:Linux, users running any Linux kernel distribution with the stock Bluetooth stack should consider this vulnerability.

Risk and Exploitability

The CVSS score is not provided, and EPSS is not available, so the precise exploitation likelihood cannot be quantified. The vulnerability is listed in the kernel source as a regression fix but is not currently in the CISA KEV catalog. If an attacker can induce the kernel to process a configuration request with a zero remote MPS value, the infinite loop can be triggered, though practical exploitation would require some form of privileged or elevated Bluetooth interaction. The presence of a memory leak adds a secondary persistence risk. Administrators should not assume negligible impact; until the kernel is updated, the system could suffer a denial of service.

Generated by OpenCVE AI on April 22, 2026 at 18:46 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that addresses the L2CAP ERTM re‑init and zero pdu_len issues.
  • Reboot the system or reload the Bluetooth subsystem to load the updated kernel module.
  • Restrict or disable Bluetooth L2CAP functionality from unknown or untrusted devices until the patch is in force.

Generated by OpenCVE AI on April 22, 2026 at 18:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 23 Apr 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-606
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate


Wed, 22 Apr 2026 19:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-322
CWE-772

Wed, 22 Apr 2026 14:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix ERTM re-init and zero pdu_len infinite loop l2cap_config_req() processes CONFIG_REQ for channels in BT_CONNECTED state to support L2CAP reconfiguration (e.g. MTU changes). However, since both CONF_INPUT_DONE and CONF_OUTPUT_DONE are already set from the initial configuration, the reconfiguration path falls through to l2cap_ertm_init(), which re-initializes tx_q, srej_q, srej_list, and retrans_list without freeing the previous allocations and sets chan->sdu to NULL without freeing the existing skb. This leaks all previously allocated ERTM resources. Additionally, l2cap_parse_conf_req() does not validate the minimum value of remote_mps derived from the RFC max_pdu_size option. A zero value propagates to l2cap_segment_sdu() where pdu_len becomes zero, causing the while loop to never terminate since len is never decremented, exhausting all available memory. Fix the double-init by skipping l2cap_ertm_init() and l2cap_chan_ready() when the channel is already in BT_CONNECTED state, while still allowing the reconfiguration parameters to be updated through l2cap_parse_conf_req(). Also add a pdu_len zero check in l2cap_segment_sdu() as a safeguard.
Title Bluetooth: L2CAP: Fix ERTM re-init and zero pdu_len infinite loop
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-04-22T13:54:19.714Z

Reserved: 2026-03-09T15:48:24.103Z

Link: CVE-2026-31498

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-04-22T14:16:48.067

Modified: 2026-04-23T16:17:41.280

Link: CVE-2026-31498

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-04-22T00:00:00Z

Links: CVE-2026-31498 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-04-22T19:00:08Z

Weaknesses