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

Bluetooth: L2CAP: fix chan mode for LE_CONN_REQ + EXT_FLOWCTL pchan

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.111, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: fix chan mode for LE_CONN_REQ + EXT_FLOWCTL pchan l2cap_new_connection() sets default value of channel mode to match the parent channel. l2cap_le_connect_req() left this at the default, and created L2CAP_MODE_EXT_FLOWCTL channels if listening pchan has that mode. This causes FLAG_DEFER_SETUP channels to reply to L2CAP_LE_CONN_REQ with L2CAP_ECRED_CONN_RSP, which is incorrect. It can also result to stack OOB write (of l2cap_alloc_cid determined values) in l2cap_ecred_rsp_defer(), as l2cap_le_connect_req() does not limit maximum number of deferred channels or check for duplicate ident. Fix by setting chan->mode correctly in l2cap_le_connect_req(). Also check channel mode in l2cap_ecred_rsp_defer(), and do WARN_ON_ONCE instead of OOB write to make it less brittle.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in ad0f44a3f1f688558ed876a0702bc2c82b0df689; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 564ae0e05e598aa895b9dbd18cb7d6eb64752869; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in aab17938998b29e75c3324763411aef3e300fc67; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 0e1fc7cab95ad958e55d70a5dfaaea687c9c639f; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 1074bcc57f741223f9fa82ce6afe5c3d783e4d10; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 5d5a625cbc854d4c4f68e4b16fcf6e682d9a9ed1; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 6cb79e6499228cfdbd4b3301371ce74d01cd2f80; From 15f02b91056253e8cdc592888f431da0731337b8 · fixed in 4ef05db5b08b176a551b4a6287372045998806b0

  • Linux Linux

    5.7

  • KernelLinux

    From 5.7.0 · 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.111; From 6.13.0 · fixed in 6.18.53; From 6.19.0 · fixed in 7.2.7

References 8

git.kernel.org