Skip to main content
← All vulnerabilities
CVE-2026-98457

Bluetooth: L2CAP: validate frame length before control and FCS access

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: validate frame length before control and FCS access l2cap_data_rcv() unpacks either a two-byte or four-byte control field without first ensuring that it is present. A short ERTM or streaming-mode frame can therefore cause an out-of-bounds read. There is a second short-frame case when CRC16 is enabled. After the control field is pulled, l2cap_check_fcs() subtracts two from skb->len without checking it. If fewer than two bytes remain, the subtraction wraps; skb_trim() leaves the buffer unchanged and the subsequent FCS load reads past the logical end of the frame. Validate that the frame contains both its control field and, when enabled, its FCS before either field is accessed.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a · fixed in 4373ba79a267947e771c438507f7b103e30bdb21; From 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a · fixed in 965bd88ed4b4763cb765dd65885adcfa588c6b14; From 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a · fixed in 3acf6a0038ec0d4e8f4dcbfc2a557dff5f61cb70; From 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a · fixed in 8c7556c7cd17e073bbefdc4a9a4694a207544c37; From 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a · fixed in 1fdbb2a712a9a162ee817c959740face80b3d929; From 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a · fixed in c6a288e6001bcce16553c3853e0f5a45eaaf85c7; From 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a · fixed in f557274af7b94b6134692e6f26b880f1e34c15bf; From 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a · fixed in 6c78a213d9070b610c7f418af2c25b66180b7e37

  • Linux Linux

    2.6.32

  • KernelLinux

    From 2.6.32 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9

References 8

git.kernel.org