{"id":"CVE-2026-43062","state":"PUBLISHED","title":"Bluetooth: L2CAP: Fix type confusion in l2cap_ecred_reconf_rsp()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix type confusion in l2cap_ecred_reconf_rsp()\n\nl2cap_ecred_reconf_rsp() casts the incoming data to struct\nl2cap_ecred_conn_rsp (the ECRED *connection* response, 8 bytes with\nresult at offset 6) instead of struct l2cap_ecred_reconf_rsp (2 bytes\nwith result at offset 0).\n\nThis causes two problems:\n\n - The sizeof(*rsp) length check requires 8 bytes instead of the\n   correct 2, so valid L2CAP_ECRED_RECONF_RSP packets are rejected\n   with -EPROTO.\n\n - rsp->result reads from offset 6 instead of offset 0, returning\n   wrong data when the packet is large enough to pass the check.\n\nFix by using the correct type.  Also pass the already byte-swapped\nresult variable to BT_DBG instead of the raw __le16 field.","publishedAt":"2026-05-05T15:17:27.830Z","updatedAt":"2026-10-19T19:06:12.056Z","severity":{"score":7.1,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"21d3ba696918d6373233aac0b9d51fcabdedddc0","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"3b94e62caa1dc1198d0d55d97bd710da1dee15d7","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"111f74547eee8cfedfb854284e80f35c8a491186","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"dd3b221e21079ade8263fbb7176f3d55ad75d3b6","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"d90150c72d2e6a8a3079e88755dafcfbe91c746d","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"5a1ea296f8589ce8f1e3141b2b123b34ad010e19","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"f110b8f58b254bf997cec1bd60701b7798e9bb82","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"15145675690cab2de1056e7ed68e59cbd0452529","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/bluetooth/l2cap_core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.7","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.20","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.10","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/bluetooth/l2cap_core.c"]}],"references":["https://git.kernel.org/stable/c/21d3ba696918d6373233aac0b9d51fcabdedddc0","https://git.kernel.org/stable/c/3b94e62caa1dc1198d0d55d97bd710da1dee15d7","https://git.kernel.org/stable/c/111f74547eee8cfedfb854284e80f35c8a491186","https://git.kernel.org/stable/c/dd3b221e21079ade8263fbb7176f3d55ad75d3b6","https://git.kernel.org/stable/c/d90150c72d2e6a8a3079e88755dafcfbe91c746d","https://git.kernel.org/stable/c/5a1ea296f8589ce8f1e3141b2b123b34ad010e19","https://git.kernel.org/stable/c/f110b8f58b254bf997cec1bd60701b7798e9bb82","https://git.kernel.org/stable/c/15145675690cab2de1056e7ed68e59cbd0452529"],"weaknesses":["CWE-843"],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/43xxx/CVE-2026-43062.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43062","state":"PUBLISHED","datePublished":"2026-05-05T15:17:27.830Z","dateUpdated":"2026-10-19T19:06:12.056Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-01T14:12:55.981Z"},"containers":{"cna":{"title":"Bluetooth: L2CAP: Fix type confusion in l2cap_ecred_reconf_rsp()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix type confusion in l2cap_ecred_reconf_rsp()\n\nl2cap_ecred_reconf_rsp() casts the incoming data to struct\nl2cap_ecred_conn_rsp (the ECRED *connection* response, 8 bytes with\nresult at offset 6) instead of struct l2cap_ecred_reconf_rsp (2 bytes\nwith result at offset 0).\n\nThis causes two problems:\n\n - The sizeof(*rsp) length check requires 8 bytes instead of the\n   correct 2, so valid L2CAP_ECRED_RECONF_RSP packets are rejected\n   with -EPROTO.\n\n - rsp->result reads from offset 6 instead of offset 0, returning\n   wrong data when the packet is large enough to pass the check.\n\nFix by using the correct type.  Also pass the already byte-swapped\nresult variable to BT_DBG instead of the raw __le16 field."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"21d3ba696918d6373233aac0b9d51fcabdedddc0","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"3b94e62caa1dc1198d0d55d97bd710da1dee15d7","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"111f74547eee8cfedfb854284e80f35c8a491186","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"dd3b221e21079ade8263fbb7176f3d55ad75d3b6","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"d90150c72d2e6a8a3079e88755dafcfbe91c746d","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"5a1ea296f8589ce8f1e3141b2b123b34ad010e19","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"f110b8f58b254bf997cec1bd60701b7798e9bb82","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"15145675690cab2de1056e7ed68e59cbd0452529","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/bluetooth/l2cap_core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.7","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.78","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.20","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.10","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/bluetooth/l2cap_core.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/21d3ba696918d6373233aac0b9d51fcabdedddc0"},{"url":"https://git.kernel.org/stable/c/3b94e62caa1dc1198d0d55d97bd710da1dee15d7"},{"url":"https://git.kernel.org/stable/c/111f74547eee8cfedfb854284e80f35c8a491186"},{"url":"https://git.kernel.org/stable/c/dd3b221e21079ade8263fbb7176f3d55ad75d3b6"},{"url":"https://git.kernel.org/stable/c/d90150c72d2e6a8a3079e88755dafcfbe91c746d"},{"url":"https://git.kernel.org/stable/c/5a1ea296f8589ce8f1e3141b2b123b34ad010e19"},{"url":"https://git.kernel.org/stable/c/f110b8f58b254bf997cec1bd60701b7798e9bb82"},{"url":"https://git.kernel.org/stable/c/15145675690cab2de1056e7ed68e59cbd0452529"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L","baseScore":7.1,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - Bluetooth L2CAP is reachable only by a nearby Bluetooth LE peer over the local radio link, not over routed IP networks.\nAC:L - Once an LE L2CAP ECRED channel/reconfiguration exchange exists, the attacker controls the response length and bytes; no hard-to-win race or environmental condition is required to hit the misparse.\nPR:N - The inbound HCI ACL/L2CAP signaling receive path has no local privilege or authentication check before parsing the peer's ECRED reconfiguration response.\nUI:N - No victim user action is required for packet processing beyond the system participating in a Bluetooth LE L2CAP session.\nS:U - The impact remains within the kernel/Bluetooth stack security authority and does not cross a VM, IOMMU, or sandbox boundary.\nC:N - The wrong struct makes the kernel read the result from attacker-controlled packet bytes at offset 6 after an 8-byte length check, so this commit does not expose kernel memory.\nI:H - The bug is a kernel protocol-parser type confusion that lets an adjacent peer drive incorrect ECRED reconfiguration state and channel teardown based on the wrong field; per the supplied guidance, type confusion is scored High for integrity.\nA:L - The practical availability impact is disruption or failure of ECRED reconfiguration/channel state, not a demonstrated kernel panic, hang, or whole-system crash from this fix."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:25:40.332Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.10.253"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.12.78"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.18.20"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.19.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-43062","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T15:14:12.423204Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-843","lang":"en","type":"CWE","description":"CWE-843 Access of Resource Using Incompatible Type ('Type Confusion')"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T19:06:12.056Z"}}]}}}