{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-68085","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-07-30T09:28:09.367Z","datePublished":"2026-08-10T11:51:39.079Z","dateUpdated":"2026-08-17T04:58:33.786Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-17T04:58:33.786Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_uart: clear HCI_UART_SENDING when write_work is canceled\n\nHCI_UART_SENDING bit in tx_state means write_work is pending and blocks\nqueueing it again.  Currently this bit is not cleared when canceling the\nwork in hci_uart_close(), which blocks future writes when device is\nreopened later if write_work was pending.\n\nFix by clearing HCI_UART_SENDING when canceling the work.\n\nAlso make clearing of tx_skb safe by using disable_work_sync +\nenable_work instead of just cancel_work_sync.  hci_uart_flush() purges\nthe proto tx queue so we can cancel the pending write_work there,\ninstead of doing it just in hci_uart_close().  Re-enable and possibly\nrequeue the work after queue flush."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:A - The flaw is in the Bluetooth HCI UART TX teardown path; an adjacent Bluetooth peer can drive HCI traffic to keep write_work pending while privileged stack management (HCIDEVRESET/close during adapter recovery) executes hci_uart_close/flush.\nAC:L - An attacker controls both sides of the race by generating HCI TX to set HCI_UART_SENDING and concurrently triggering adapter close/reset (e.g., HCIDEVRESET), making the stuck-bit and tx_skb teardown races reliably reachable.\nPR:L - Direct exploitation requires CAP_NET_ADMIN to attach the N_HCI TTY line discipline and issue HCIDEVDOWN/HCIDEVRESET ioctls; this capability is available to unprivileged users inside user namespaces, not only init-namespace root.\nUI:N - No victim interaction is required beyond normal Bluetooth operation; exploitation is achieved through attacker-driven HCI traffic and adapter close/reset timing without the user opening files or confirming prompts.\nS:U - Impact is confined to kernel Bluetooth/UART state on the host (permanent TX failure or kernel crash); it does not cross a VM, container, or IOMMU security boundary to affect a different authority.\nC:H - The vulnerable hci_uart_flush path can race with protocol timers requeueing write_work, causing tx_skb double-free/UAF heap corruption that can expose kernel memory contents, not merely a functional TX stall.\nI:H - Concurrent flush and write_work on tx_skb enables heap corruption primitives typical of double-free/UAF bugs in the kernel slab allocator, which can be leveraged for arbitrary memory writes and code execution.\nA:H - Leaving HCI_UART_SENDING set after cancel permanently blocks all future Bluetooth transmissions after reopen until full teardown, and the tx_skb corruption race can trigger kernel oops/panic."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/bluetooth/hci_ldisc.c"],"versions":[{"version":"81c7a3c22a0f2808cf4ae0b4908f59763b23606d","lessThan":"d52446b3e735cfdbdc2a58342163803bc2e64249","status":"affected","versionType":"git"},{"version":"192cb0f1ca706d9a1bc36ae0ad5f666d1e4fd894","lessThan":"b9dd39cf1667e378b25a082ca796d495d578c5d3","status":"affected","versionType":"git"},{"version":"c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b","lessThan":"714d861d35d937f23375a4517569b13917bbbe51","status":"affected","versionType":"git"},{"version":"c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b","lessThan":"1b0d946d6f08bd39211385bc703a440911b41e46","status":"affected","versionType":"git"},{"version":"78aad93e938f013d9272fe0ee168f27883afa95c","status":"affected","versionType":"git"},{"version":"e2d19969c8d9198ecc3090bcd5312ecd503a3339","status":"affected","versionType":"git"},{"version":"c85cff648a2bc92322912db5f1727ad05afae7b6","status":"affected","versionType":"git"},{"version":"9d20d48be2c4a071fb015eb09bda2cecd25daf34","status":"affected","versionType":"git"},{"version":"7338031946bd06f6dff149e67b60c4cd083bfea8","status":"affected","versionType":"git"},{"version":"6.12.92","lessThan":"6.12.96","status":"affected","versionType":"semver"},{"version":"6.18.34","lessThan":"6.18.39","status":"affected","versionType":"semver"},{"version":"5.10.258","lessThan":"5.11","status":"affected","versionType":"semver"},{"version":"5.15.209","lessThan":"5.16","status":"affected","versionType":"semver"},{"version":"6.1.175","lessThan":"6.2","status":"affected","versionType":"semver"},{"version":"6.6.142","lessThan":"6.7","status":"affected","versionType":"semver"},{"version":"7.0.11","lessThan":"7.1","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/bluetooth/hci_ldisc.c"],"versions":[{"version":"7.1","status":"affected"},{"version":"0","lessThan":"7.1","status":"unaffected","versionType":"semver"},{"version":"6.12.96","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.39","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.4","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12.92","versionEndExcluding":"6.12.96"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.18.34","versionEndExcluding":"6.18.39"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.1","versionEndExcluding":"7.1.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.1","versionEndExcluding":"7.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.258"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.209"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.175"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.142"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"7.0.11"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/d52446b3e735cfdbdc2a58342163803bc2e64249"},{"url":"https://git.kernel.org/stable/c/b9dd39cf1667e378b25a082ca796d495d578c5d3"},{"url":"https://git.kernel.org/stable/c/714d861d35d937f23375a4517569b13917bbbe51"},{"url":"https://git.kernel.org/stable/c/1b0d946d6f08bd39211385bc703a440911b41e46"}],"title":"Bluetooth: hci_uart: clear HCI_UART_SENDING when write_work is canceled","x_generator":{"engine":"bippy-1.2.0"}}}}