VYPR
Medium severity5.5NVD Advisory· Published Apr 22, 2026· Updated Apr 28, 2026

CVE-2026-31512

CVE-2026-31512

Description

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

Bluetooth: L2CAP: Validate PDU length before reading SDU length in l2cap_ecred_data_rcv()

l2cap_ecred_data_rcv() reads the SDU length field from skb->data using get_unaligned_le16() without first verifying that skb contains at least L2CAP_SDULEN_SIZE (2) bytes. When skb->len is less than 2, this reads past the valid data in the skb.

The ERTM reassembly path correctly calls pskb_may_pull() before reading the SDU length (l2cap_reassemble_sdu, L2CAP_SAR_START case). Apply the same validation to the Enhanced Credit Based Flow Control data path.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A missing length check in the Linux kernel's Bluetooth L2CAP Enhanced Credit Based Flow Control data path allows an out-of-bounds read when processing malformed packets.

Vulnerability

In the Linux kernel's Bluetooth subsystem, the function l2cap_ecred_data_rcv() in the L2CAP layer reads the SDU length field from the incoming skb data using get_unaligned_le16() without first verifying that the skb contains at least L2CAP_SDULEN_SIZE (2) bytes. When skb->len is less than 2, this results in reading past the valid data in the skb, leading to an out-of-bounds read [1].

Exploitation

An attacker with the ability to send crafted Bluetooth L2CAP packets to a vulnerable system can trigger this issue. The attack requires no special privileges beyond the ability to communicate over Bluetooth. The Enhanced Credit Based Flow Control (ECRED) path is used for connection-oriented data, and a malformed packet with a short length can cause the kernel to read memory beyond the packet boundary.

Impact

Successful exploitation could lead to information disclosure, as the out-of-bounds read may leak sensitive kernel memory. The CVSS v3 score of 5.5 (Medium) reflects the potential for confidentiality impact, though the attack complexity is high and requires local access or close proximity.

Mitigation

The fix adds a pskb_may_pull() check before reading the SDU length, consistent with the existing validation in the ERTM reassembly path. The patch has been applied to the Linux kernel stable branches as seen in commits [1], [2], [3], and [4]. Users should update to the latest kernel version containing this fix.

AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

9
  • Linux/Kernel9 versions
    cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*+ 8 more
    • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*range: >=3.14.1,<5.10.253
    • cpe:2.3:o:linux:linux_kernel:3.14:-:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

8

News mentions

0

No linked articles in our index yet.