Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: l2cap: clear chan->ident on ECRED reconfiguration success l2cap_ecred_reconf_rsp() returns early on success without clearing chan->ident. Every other L2CAP response handler (l2cap_ecred_conn_rsp, l2cap_le_connect_rsp, l2cap_config_rsp) clears chan->ident after a successful transaction to prevent the channel from matching subsequent responses with the recycled ident value. A remote attacker that completed a reconfiguration as the peer can replay a failure response with the stale ident, causing the kernel to match and destroy the already-established channel via l2cap_chan_del(chan, ECONNRESET). Clear chan->ident for all matching channels on success, and harden the failure path by using l2cap_chan_hold_unless_zero() consistent with other L2CAP handlers (l2cap_le_command_rej, __l2cap_get_chan_by_ident).
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
15f02b91056253e8cdc592888f431da0731337b8 to < 59f5ecf6ad5c4db6ae81965a96156954a3b0d89aaffected15f02b91056253e8cdc592888f431da0731337b8 to < ae0152d77d101c920769934fb102b18de0c6f526affected15f02b91056253e8cdc592888f431da0731337b8 to < c2afd2613fda90107c5e2fe8e855627451749c78affected15f02b91056253e8cdc592888f431da0731337b8 to < cc2b4f749de09975bfa06e58bbbad2f6acd4c79caffected15f02b91056253e8cdc592888f431da0731337b8 to < 3b5b5f423b4fd23404a393bda8adba3cd6f74ef1affected15f02b91056253e8cdc592888f431da0731337b8 to < f39049304ba655ffcbb92edbdf8c51a1f1210bedaffected15f02b91056253e8cdc592888f431da0731337b8 to < 8e7977afaef37c6bd2b2654f1bce6ab40d471147affected15f02b91056253e8cdc592888f431da0731337b8 to < 00e1950716c6ed67d74777b2db286b0fa23b4be9affected
Linux Linux
Default version status: affected
5.7affected0 to < 5.7unaffected5.10.259 to ≤ 5.10.*unaffected5.15.210 to ≤ 5.15.*unaffected6.1.176 to ≤ 6.1.*unaffected6.6.143 to ≤ 6.6.*unaffected6.12.93 to ≤ 6.12.*unaffected6.18.35 to ≤ 6.18.*unaffected7.0.12 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/59f5ecf6ad5c4db6ae81965a96156954a3b0d89a ↗
- https://git.kernel.org/stable/c/ae0152d77d101c920769934fb102b18de0c6f526 ↗
- https://git.kernel.org/stable/c/c2afd2613fda90107c5e2fe8e855627451749c78 ↗
- https://git.kernel.org/stable/c/cc2b4f749de09975bfa06e58bbbad2f6acd4c79c ↗
- https://git.kernel.org/stable/c/3b5b5f423b4fd23404a393bda8adba3cd6f74ef1 ↗
- https://git.kernel.org/stable/c/f39049304ba655ffcbb92edbdf8c51a1f1210bed ↗
- https://git.kernel.org/stable/c/8e7977afaef37c6bd2b2654f1bce6ab40d471147 ↗
- https://git.kernel.org/stable/c/00e1950716c6ed67d74777b2db286b0fa23b4be9 ↗