{"api_version":"1","generated_at":"2026-08-01T12:18:31+00:00","cve":"CVE-2026-64557","urls":{"html":"https://cve.report/CVE-2026-64557","api":"https://cve.report/api/cve/CVE-2026-64557.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-64557","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-64557"},"summary":{"title":"Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb()\n\nl2cap_sock_new_connection_cb() returned l2cap_pi(sk)->chan after\nrelease_sock(parent). Once the parent lock is dropped the newly\nenqueued child socket sk is reachable via the accept queue, so another\ntask can accept and free it before the callback dereferences sk,\nresulting in a use-after-free.\n\nRework the ->new_connection() op so the core, rather than the callback,\nowns the child channel's lifetime. The op now receives a pre-allocated\nnew_chan and returns an errno instead of allocating and returning a\nchannel. l2cap_new_connection() allocates the child channel and links\nit into the conn list via __l2cap_chan_add() before invoking the\ncallback, so the conn-list reference keeps the channel alive once\nrelease_sock(parent) exposes the socket to other tasks.\n\nChannel configuration that was duplicated in l2cap_sock_init() and the\nvarious new_connection callbacks is consolidated into\nl2cap_chan_set_defaults(), which now inherits from the parent channel\nwhen one is supplied.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-29 09:16:30","updated_at":"2026-07-30 06:25:59"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"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","attackVector":"ADJACENT_NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"8.8","severity":"HIGH","vector":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"baseScore":8.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://git.kernel.org/stable/c/36da806f7fbaee56ad9e81859deec203f9728700","name":"https://git.kernel.org/stable/c/36da806f7fbaee56ad9e81859deec203f9728700","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/84e718b6a814edc84159361f9f454a4e92ae91ae","name":"https://git.kernel.org/stable/c/84e718b6a814edc84159361f9f454a4e92ae91ae","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/6fef032af0092ed5ccb767239a9ac1bc38c08a40","name":"https://git.kernel.org/stable/c/6fef032af0092ed5ccb767239a9ac1bc38c08a40","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/733e76e74e406c1d1ddc7369420dd8a47f48bb8a","name":"https://git.kernel.org/stable/c/733e76e74e406c1d1ddc7369420dd8a47f48bb8a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/8c37e4338c801ebb8cee52436c01c41e009f6e87","name":"https://git.kernel.org/stable/c/8c37e4338c801ebb8cee52436c01c41e009f6e87","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/b39298044e5534612511a2ff5de03ba5f6e7a820","name":"https://git.kernel.org/stable/c/b39298044e5534612511a2ff5de03ba5f6e7a820","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-64557","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64557","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8ffb929098a56939ac71509302eeab5b207bf262 b39298044e5534612511a2ff5de03ba5f6e7a820 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8ffb929098a56939ac71509302eeab5b207bf262 8c37e4338c801ebb8cee52436c01c41e009f6e87 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8ffb929098a56939ac71509302eeab5b207bf262 84e718b6a814edc84159361f9f454a4e92ae91ae git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8ffb929098a56939ac71509302eeab5b207bf262 36da806f7fbaee56ad9e81859deec203f9728700 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8ffb929098a56939ac71509302eeab5b207bf262 733e76e74e406c1d1ddc7369420dd8a47f48bb8a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8ffb929098a56939ac71509302eeab5b207bf262 6fef032af0092ed5ccb767239a9ac1bc38c08a40 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 3.13","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 3.13 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.178 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.145 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.97 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.40 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.5 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc3 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"64557","cve":"CVE-2026-64557","epss":"0.002360000","percentile":"0.147340000","score_date":"2026-07-31","updated_at":"2026-08-01 00:10:35"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["include/net/bluetooth/l2cap.h","net/bluetooth/6lowpan.c","net/bluetooth/l2cap_core.c","net/bluetooth/l2cap_sock.c","net/bluetooth/smp.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"b39298044e5534612511a2ff5de03ba5f6e7a820","status":"affected","version":"8ffb929098a56939ac71509302eeab5b207bf262","versionType":"git"},{"lessThan":"8c37e4338c801ebb8cee52436c01c41e009f6e87","status":"affected","version":"8ffb929098a56939ac71509302eeab5b207bf262","versionType":"git"},{"lessThan":"84e718b6a814edc84159361f9f454a4e92ae91ae","status":"affected","version":"8ffb929098a56939ac71509302eeab5b207bf262","versionType":"git"},{"lessThan":"36da806f7fbaee56ad9e81859deec203f9728700","status":"affected","version":"8ffb929098a56939ac71509302eeab5b207bf262","versionType":"git"},{"lessThan":"733e76e74e406c1d1ddc7369420dd8a47f48bb8a","status":"affected","version":"8ffb929098a56939ac71509302eeab5b207bf262","versionType":"git"},{"lessThan":"6fef032af0092ed5ccb767239a9ac1bc38c08a40","status":"affected","version":"8ffb929098a56939ac71509302eeab5b207bf262","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["include/net/bluetooth/l2cap.h","net/bluetooth/6lowpan.c","net/bluetooth/l2cap_core.c","net/bluetooth/l2cap_sock.c","net/bluetooth/smp.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"3.13"},{"lessThan":"3.13","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.178","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.145","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.97","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.40","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.5","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc3","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.178","versionStartIncluding":"3.13","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.145","versionStartIncluding":"3.13","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.97","versionStartIncluding":"3.13","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.40","versionStartIncluding":"3.13","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.5","versionStartIncluding":"3.13","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc3","versionStartIncluding":"3.13","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb()\n\nl2cap_sock_new_connection_cb() returned l2cap_pi(sk)->chan after\nrelease_sock(parent). Once the parent lock is dropped the newly\nenqueued child socket sk is reachable via the accept queue, so another\ntask can accept and free it before the callback dereferences sk,\nresulting in a use-after-free.\n\nRework the ->new_connection() op so the core, rather than the callback,\nowns the child channel's lifetime. The op now receives a pre-allocated\nnew_chan and returns an errno instead of allocating and returning a\nchannel. l2cap_new_connection() allocates the child channel and links\nit into the conn list via __l2cap_chan_add() before invoking the\ncallback, so the conn-list reference keeps the channel alive once\nrelease_sock(parent) exposes the socket to other tasks.\n\nChannel configuration that was duplicated in l2cap_sock_init() and the\nvarious new_connection callbacks is consolidated into\nl2cap_chan_set_defaults(), which now inherits from the parent channel\nwhen one is supplied."}],"metrics":[{"cvssV3_1":{"baseScore":8.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"providerMetadata":{"dateUpdated":"2026-07-30T06:06:48.348Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/b39298044e5534612511a2ff5de03ba5f6e7a820"},{"url":"https://git.kernel.org/stable/c/8c37e4338c801ebb8cee52436c01c41e009f6e87"},{"url":"https://git.kernel.org/stable/c/84e718b6a814edc84159361f9f454a4e92ae91ae"},{"url":"https://git.kernel.org/stable/c/36da806f7fbaee56ad9e81859deec203f9728700"},{"url":"https://git.kernel.org/stable/c/733e76e74e406c1d1ddc7369420dd8a47f48bb8a"},{"url":"https://git.kernel.org/stable/c/6fef032af0092ed5ccb767239a9ac1bc38c08a40"}],"title":"Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb()","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-64557","datePublished":"2026-07-29T08:01:47.462Z","dateReserved":"2026-07-19T15:36:31.796Z","dateUpdated":"2026-07-30T06:06:48.348Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-29 09:16:30","lastModifiedDate":"2026-07-30 06:25:59","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"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","attackVector":"ADJACENT_NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":2.8,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"64557","Ordinal":"1","Title":"Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connectio","CVE":"CVE-2026-64557","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"64557","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connection_cb()\n\nl2cap_sock_new_connection_cb() returned l2cap_pi(sk)->chan after\nrelease_sock(parent). Once the parent lock is dropped the newly\nenqueued child socket sk is reachable via the accept queue, so another\ntask can accept and free it before the callback dereferences sk,\nresulting in a use-after-free.\n\nRework the ->new_connection() op so the core, rather than the callback,\nowns the child channel's lifetime. The op now receives a pre-allocated\nnew_chan and returns an errno instead of allocating and returning a\nchannel. l2cap_new_connection() allocates the child channel and links\nit into the conn list via __l2cap_chan_add() before invoking the\ncallback, so the conn-list reference keeps the channel alive once\nrelease_sock(parent) exposes the socket to other tasks.\n\nChannel configuration that was duplicated in l2cap_sock_init() and the\nvarious new_connection callbacks is consolidated into\nl2cap_chan_set_defaults(), which now inherits from the parent channel\nwhen one is supplied.","Type":"Description","Title":"Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_new_connectio"}]}}}