CVE-2026-68085 (GCVE-0-2026-68085)

Vulnerability from cvelistv5 – Published: 2026-08-10 11:51 – Updated: 2026-08-17 04:58
VLAI
Title
Bluetooth: hci_uart: clear HCI_UART_SENDING when write_work is canceled
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_uart: clear HCI_UART_SENDING when write_work is canceled HCI_UART_SENDING bit in tx_state means write_work is pending and blocks queueing it again. Currently this bit is not cleared when canceling the work in hci_uart_close(), which blocks future writes when device is reopened later if write_work was pending. Fix by clearing HCI_UART_SENDING when canceling the work. Also make clearing of tx_skb safe by using disable_work_sync + enable_work instead of just cancel_work_sync. hci_uart_flush() purges the proto tx queue so we can cancel the pending write_work there, instead of doing it just in hci_uart_close(). Re-enable and possibly requeue the work after queue flush.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 81c7a3c22a0f2808cf4ae0b4908f59763b23606d , < d52446b3e735cfdbdc2a58342163803bc2e64249 (git)
Affected: 192cb0f1ca706d9a1bc36ae0ad5f666d1e4fd894 , < b9dd39cf1667e378b25a082ca796d495d578c5d3 (git)
Affected: c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b , < 714d861d35d937f23375a4517569b13917bbbe51 (git)
Affected: c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b , < 1b0d946d6f08bd39211385bc703a440911b41e46 (git)
Affected: 78aad93e938f013d9272fe0ee168f27883afa95c (git)
Affected: e2d19969c8d9198ecc3090bcd5312ecd503a3339 (git)
Affected: c85cff648a2bc92322912db5f1727ad05afae7b6 (git)
Affected: 9d20d48be2c4a071fb015eb09bda2cecd25daf34 (git)
Affected: 7338031946bd06f6dff149e67b60c4cd083bfea8 (git)
Affected: 6.12.92 , < 6.12.96 (semver)
Affected: 6.18.34 , < 6.18.39 (semver)
Affected: 5.10.258 , < 5.11 (semver)
Affected: 5.15.209 , < 5.16 (semver)
Affected: 6.1.175 , < 6.2 (semver)
Affected: 6.6.142 , < 6.7 (semver)
Affected: 7.0.11 , < 7.1 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 7.1
Unaffected: 0 , < 7.1 (semver)
Unaffected: 6.12.96 , ≤ 6.12.* (semver)
Unaffected: 6.18.39 , ≤ 6.18.* (semver)
Unaffected: 7.1.4 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/bluetooth/hci_ldisc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "d52446b3e735cfdbdc2a58342163803bc2e64249",
              "status": "affected",
              "version": "81c7a3c22a0f2808cf4ae0b4908f59763b23606d",
              "versionType": "git"
            },
            {
              "lessThan": "b9dd39cf1667e378b25a082ca796d495d578c5d3",
              "status": "affected",
              "version": "192cb0f1ca706d9a1bc36ae0ad5f666d1e4fd894",
              "versionType": "git"
            },
            {
              "lessThan": "714d861d35d937f23375a4517569b13917bbbe51",
              "status": "affected",
              "version": "c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b",
              "versionType": "git"
            },
            {
              "lessThan": "1b0d946d6f08bd39211385bc703a440911b41e46",
              "status": "affected",
              "version": "c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "78aad93e938f013d9272fe0ee168f27883afa95c",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "e2d19969c8d9198ecc3090bcd5312ecd503a3339",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "c85cff648a2bc92322912db5f1727ad05afae7b6",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9d20d48be2c4a071fb015eb09bda2cecd25daf34",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7338031946bd06f6dff149e67b60c4cd083bfea8",
              "versionType": "git"
            },
            {
              "lessThan": "6.12.96",
              "status": "affected",
              "version": "6.12.92",
              "versionType": "semver"
            },
            {
              "lessThan": "6.18.39",
              "status": "affected",
              "version": "6.18.34",
              "versionType": "semver"
            },
            {
              "lessThan": "5.11",
              "status": "affected",
              "version": "5.10.258",
              "versionType": "semver"
            },
            {
              "lessThan": "5.16",
              "status": "affected",
              "version": "5.15.209",
              "versionType": "semver"
            },
            {
              "lessThan": "6.2",
              "status": "affected",
              "version": "6.1.175",
              "versionType": "semver"
            },
            {
              "lessThan": "6.7",
              "status": "affected",
              "version": "6.6.142",
              "versionType": "semver"
            },
            {
              "lessThan": "7.1",
              "status": "affected",
              "version": "7.0.11",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/bluetooth/hci_ldisc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.1"
            },
            {
              "lessThan": "7.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.96",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.39",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.96",
                  "versionStartIncluding": "6.12.92",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.39",
                  "versionStartIncluding": "6.18.34",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.4",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "7.1",
                  "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",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "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": {
            "baseScore": 8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "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."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T04:58:33.786Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "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"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-68085",
    "datePublished": "2026-08-10T11:51:39.079Z",
    "dateReserved": "2026-07-30T09:28:09.367Z",
    "dateUpdated": "2026-08-17T04:58:33.786Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-68085",
      "date": "2026-09-20",
      "epss": "0.00251",
      "percentile": "0.16836"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "drivers/bluetooth/hci_ldisc.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "d52446b3e735cfdbdc2a58342163803bc2e64249",
                    "status": "affected",
                    "version": "81c7a3c22a0f2808cf4ae0b4908f59763b23606d",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "b9dd39cf1667e378b25a082ca796d495d578c5d3",
                    "status": "affected",
                    "version": "192cb0f1ca706d9a1bc36ae0ad5f666d1e4fd894",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "714d861d35d937f23375a4517569b13917bbbe51",
                    "status": "affected",
                    "version": "c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "1b0d946d6f08bd39211385bc703a440911b41e46",
                    "status": "affected",
                    "version": "c1bb9336ae6b54a5f6a353c4bd4ed9a4307e429b",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "78aad93e938f013d9272fe0ee168f27883afa95c",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "e2d19969c8d9198ecc3090bcd5312ecd503a3339",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "c85cff648a2bc92322912db5f1727ad05afae7b6",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "9d20d48be2c4a071fb015eb09bda2cecd25daf34",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "7338031946bd06f6dff149e67b60c4cd083bfea8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "6.12.96",
                    "status": "affected",
                    "version": "6.12.92",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.18.39",
                    "status": "affected",
                    "version": "6.18.34",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.11",
                    "status": "affected",
                    "version": "5.10.258",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.16",
                    "status": "affected",
                    "version": "5.15.209",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.2",
                    "status": "affected",
                    "version": "6.1.175",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.7",
                    "status": "affected",
                    "version": "6.6.142",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "7.1",
                    "status": "affected",
                    "version": "7.0.11",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "drivers/bluetooth/hci_ldisc.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "7.1"
                  },
                  {
                    "lessThan": "7.1",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.96",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.39",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "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."
          }
        ],
        "id": "CVE-2026-68085",
        "lastModified": "2026-08-17T05:18:07.737",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "ADJACENT_NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.0,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.1,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-08-10T12:17:21.060",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/1b0d946d6f08bd39211385bc703a440911b41e46"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/714d861d35d937f23375a4517569b13917bbbe51"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/b9dd39cf1667e378b25a082ca796d495d578c5d3"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d52446b3e735cfdbdc2a58342163803bc2e64249"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-13T23:19:07+00:00",
      "cve": "CVE-2026-68085",
      "id": "CVE-2026-68085",
      "initial_release_date": "2026-08-10T00:00:00+00:00",
      "product_status:known_affected": "198",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Bluetooth: hci_uart: clear HCI_UART_SENDING when write_work is canceled",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-68085.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "low",
      "current_release_date": "2026-09-18T00:36:20Z",
      "cve": "CVE-2026-68085",
      "id": "CVE-2026-68085",
      "initial_release_date": "2026-08-11T23:48:53Z",
      "product_status:known_affected": "675",
      "product_status:known_not_affected": "61",
      "product_status:recommended": "107",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-68085",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-68085.json",
      "version": "9"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…