CVE Catalog

CVE-2026-31513

HighCVSS 8.1
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.39%

31th percentile - higher than 31% of all known CVEs

Summary

In the Linux kernel, l2cap_ecred_conn_req() (Bluetooth L2CAP) contains a stack-out-of-bounds read. When an attacker sends an Enhanced Credit Based Connection Request with more than 5 SCIDs, rsp_len retains an oversized value and l2cap_send_cmd() reads past the 18-byte pdu buffer, triggering a KASAN panic.

Risk Assessment

An attacker within Bluetooth range can remotely trigger a kernel panic (denial of service) on a vulnerable system. This may lead to device unavailability or forced reboots.

Recommendation

Update the Linux kernel to a version containing the fix that moves the rsp_len assignment after the num_scid boundary check. If updating is not possible, consider restricting or disabling Bluetooth on exposed systems.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix stack-out-of-bounds read in l2cap_ecred_conn_req Syzbot reported a KASAN stack-out-of-bounds read in l2cap_build_cmd() that is triggered by a malformed Enhanced Credit Based Connection Request. The vulnerability stems from l2cap_ecred_conn_req(). The function allocates a local stack buffer (`pdu`) designed to hold a maximum of 5 Source Channel IDs (SCIDs), totaling 18 bytes. When an attacker sends a request with more than 5 SCIDs, the function calculates `rsp_len` based on this unvalidated `cmd_len` before checking if the number of SCIDs exceeds L2CAP_ECRED_MAX_CID. If the SCID count is too high, the function correctly jumps to the `response` label to reject the packet, but `rsp_len` retains the attacker's oversized value. Consequently, l2cap_send_cmd() is instructed to read past the end of the 18-byte `pdu` buffer, triggering a KASAN panic. Fix this by moving the assignment of `rsp_len` to after the `num_scid` boundary check. If the packet is rejected, `rsp_len` will safely remain 0, and the error response will only read the 8-byte base header from the stack.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS