{"id":"CVE-2026-63975","state":"PUBLISHED","title":"Bluetooth: L2CAP: Fix possible crash on l2cap_ecred_conn_rsp","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix possible crash on l2cap_ecred_conn_rsp\n\nIf dcid is received for an already-assigned destination CID the spec\nrequires that both channels to be discarded, but calling l2cap_chan_del\nmay invalidate the tmp cursor created by list_for_each_entry_safe and\nin fact it is the wrong procedure as the chan->dcid may be assigned\npreviously it really needs to be disconnected.\n\nCalling l2cap_chan_clone directly may still lead to l2cap_chan_del so\ninstead schedule l2cap_chan_timeout with delay 0 to close the channel\nasynchronously.","publishedAt":"2026-07-19T14:56:00.662Z","updatedAt":"2026-10-19T20:17:59.722Z","severity":{"score":8.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"3c8eaa91eb433c450426539290be4ffe282e9f00","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"ecfed1e0d8efecad6737a0d83e21d2fd021d8c48","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"e6833e737a51db1e5ea0401322acf5e22abd8be6","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"6319b38fe69f56ed95680ade485b957a53fff642","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"291eec1041c918c460dc9702e44edd17794b4a4b","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"41e29548b5e8b5e5fcf708786b3bea67cab107fa","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"d153b8898c0051eb8b6a083b35cbe304a5886bd5","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"41c2713b204e6cb6a94587bc6bf6935107df5479","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.259","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.210","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.176","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.93","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.35","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.12","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","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/3c8eaa91eb433c450426539290be4ffe282e9f00","https://git.kernel.org/stable/c/ecfed1e0d8efecad6737a0d83e21d2fd021d8c48","https://git.kernel.org/stable/c/e6833e737a51db1e5ea0401322acf5e22abd8be6","https://git.kernel.org/stable/c/6319b38fe69f56ed95680ade485b957a53fff642","https://git.kernel.org/stable/c/291eec1041c918c460dc9702e44edd17794b4a4b","https://git.kernel.org/stable/c/41e29548b5e8b5e5fcf708786b3bea67cab107fa","https://git.kernel.org/stable/c/d153b8898c0051eb8b6a083b35cbe304a5886bd5","https://git.kernel.org/stable/c/41c2713b204e6cb6a94587bc6bf6935107df5479"],"weaknesses":["CWE-667"],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/63xxx/CVE-2026-63975.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-63975","state":"PUBLISHED","datePublished":"2026-07-19T14:56:00.662Z","dateUpdated":"2026-10-19T20:17:59.722Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T07:54:57.024Z"},"containers":{"cna":{"title":"Bluetooth: L2CAP: Fix possible crash on l2cap_ecred_conn_rsp","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix possible crash on l2cap_ecred_conn_rsp\n\nIf dcid is received for an already-assigned destination CID the spec\nrequires that both channels to be discarded, but calling l2cap_chan_del\nmay invalidate the tmp cursor created by list_for_each_entry_safe and\nin fact it is the wrong procedure as the chan->dcid may be assigned\npreviously it really needs to be disconnected.\n\nCalling l2cap_chan_clone directly may still lead to l2cap_chan_del so\ninstead schedule l2cap_chan_timeout with delay 0 to close the channel\nasynchronously."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"3c8eaa91eb433c450426539290be4ffe282e9f00","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"ecfed1e0d8efecad6737a0d83e21d2fd021d8c48","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"e6833e737a51db1e5ea0401322acf5e22abd8be6","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"6319b38fe69f56ed95680ade485b957a53fff642","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"291eec1041c918c460dc9702e44edd17794b4a4b","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"41e29548b5e8b5e5fcf708786b3bea67cab107fa","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"d153b8898c0051eb8b6a083b35cbe304a5886bd5","versionType":"git"},{"version":"15f02b91056253e8cdc592888f431da0731337b8","status":"affected","lessThan":"41c2713b204e6cb6a94587bc6bf6935107df5479","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.259","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.210","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.176","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.143","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.93","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.35","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.0.12","status":"unaffected","lessThanOrEqual":"7.0.*","versionType":"semver"},{"version":"7.1","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/3c8eaa91eb433c450426539290be4ffe282e9f00"},{"url":"https://git.kernel.org/stable/c/ecfed1e0d8efecad6737a0d83e21d2fd021d8c48"},{"url":"https://git.kernel.org/stable/c/e6833e737a51db1e5ea0401322acf5e22abd8be6"},{"url":"https://git.kernel.org/stable/c/6319b38fe69f56ed95680ade485b957a53fff642"},{"url":"https://git.kernel.org/stable/c/291eec1041c918c460dc9702e44edd17794b4a4b"},{"url":"https://git.kernel.org/stable/c/41e29548b5e8b5e5fcf708786b3bea67cab107fa"},{"url":"https://git.kernel.org/stable/c/d153b8898c0051eb8b6a083b35cbe304a5886bd5"},{"url":"https://git.kernel.org/stable/c/41c2713b204e6cb6a94587bc6bf6935107df5479"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - The bug is reached when a remote Bluetooth LE peer sends a crafted L2CAP_ECRED_CONN_RSP on the LE signaling channel, processed via hci_recv_frame → l2cap_recv_acldata → l2cap_le_sig_channel → l2cap_ecred_conn_rsp. Bluetooth is Adjacent per kernel CVSS guidance.\nAC:L - An adjacent attacker who establishes a BLE ACL link can reliably trigger this by first creating an L2CAP channel with a chosen DCID (via ECRED_CONN_REQ SCIDs) and then sending a connection response reusing that DCID for a pending outgoing ECRED connection; no race or rare layout is required.\nPR:N - Exploitation requires only the ability to act as a remote Bluetooth peer on an established ACL connection; no local shell access, capabilities, or root on the victim system is needed.\nUI:N - The malicious signaling traffic is delivered entirely by the remote attacker once a BLE link exists; no additional victim-side file open, mount, or application action beyond normal Bluetooth connectivity is required to reach the vulnerable handler.\nS:U - The failure is a kernel L2CAP channel-list use-after-free and crash within the Bluetooth stack on the victim host; it does not cross a VM, container, or IOMMU security boundary.\nC:H - Calling l2cap_chan_del() on the original channel during list_for_each_entry_safe can free the saved tmp list node, causing a use-after-free on struct l2cap_chan when iteration continues; UAF is scored as High confidentiality impact.\nI:H - The same iterator invalidation frees and later dereferences l2cap_chan objects under attacker-influenced connection state, providing a heap UAF primitive that can be groomed toward arbitrary memory corruption and code execution.\nA:H - The bug reliably produces kernel list corruption and use-after-free in softirq/context Bluetooth receive path, leading to kernel oops or panic and denial of service on phones, laptops, and embedded devices with Bluetooth enabled."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T12:37:46.003Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.10.259"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"5.15.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.1.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.12.93"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"6.18.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"7.0.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.7","versionEndExcluding":"7.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-63975","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T15:34:23.355670Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-667","lang":"en","type":"CWE","description":"CWE-667 Improper Locking"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T20:17:59.722Z"}}]}}}