Description
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix type confusion in l2cap_ecred_reconf_rsp() l2cap_ecred_reconf_rsp() casts the incoming data to struct l2cap_ecred_conn_rsp (the ECRED *connection* response, 8 bytes with result at offset 6) instead of struct l2cap_ecred_reconf_rsp (2 bytes with result at offset 0). This causes two problems: - The sizeof(*rsp) length check requires 8 bytes instead of the correct 2, so valid L2CAP_ECRED_RECONF_RSP packets are rejected with -EPROTO. - rsp->result reads from offset 6 instead of offset 0, returning wrong data when the packet is large enough to pass the check. Fix by using the correct type. Also pass the already byte-swapped result variable to BT_DBG instead of the raw __le16 field.
Product status
15f02b91056253e8cdc592888f431da0731337b8 (git) before 21d3ba696918d6373233aac0b9d51fcabdedddc0
15f02b91056253e8cdc592888f431da0731337b8 (git) before 3b94e62caa1dc1198d0d55d97bd710da1dee15d7
15f02b91056253e8cdc592888f431da0731337b8 (git) before 111f74547eee8cfedfb854284e80f35c8a491186
15f02b91056253e8cdc592888f431da0731337b8 (git) before dd3b221e21079ade8263fbb7176f3d55ad75d3b6
15f02b91056253e8cdc592888f431da0731337b8 (git) before d90150c72d2e6a8a3079e88755dafcfbe91c746d
15f02b91056253e8cdc592888f431da0731337b8 (git) before 5a1ea296f8589ce8f1e3141b2b123b34ad010e19
15f02b91056253e8cdc592888f431da0731337b8 (git) before f110b8f58b254bf997cec1bd60701b7798e9bb82
15f02b91056253e8cdc592888f431da0731337b8 (git) before 15145675690cab2de1056e7ed68e59cbd0452529
5.7
Any version before 5.7
5.10.253 (semver)
5.15.203 (semver)
6.1.167 (semver)
6.6.130 (semver)
6.12.78 (semver)
6.18.20 (semver)
6.19.10 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/21d3ba696918d6373233aac0b9d51fcabdedddc0
git.kernel.org/...c/3b94e62caa1dc1198d0d55d97bd710da1dee15d7
git.kernel.org/...c/111f74547eee8cfedfb854284e80f35c8a491186
git.kernel.org/...c/dd3b221e21079ade8263fbb7176f3d55ad75d3b6
git.kernel.org/...c/d90150c72d2e6a8a3079e88755dafcfbe91c746d
git.kernel.org/...c/5a1ea296f8589ce8f1e3141b2b123b34ad010e19
git.kernel.org/...c/f110b8f58b254bf997cec1bd60701b7798e9bb82
git.kernel.org/...c/15145675690cab2de1056e7ed68e59cbd0452529