GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-72337 (GCVE-0-2026-72337)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:55 – Updated: 2026-08-17 05:12
VLAI
Title
Bluetooth: 6lowpan: avoid untracked enable work
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: 6lowpan: avoid untracked enable work lowpan_enable_set() allocates a temporary work item and schedules do_enable_set() on system_wq, then returns to debugfs. The debugfs active operation has ended at that point, but the worker still executes module text and manipulates enable_6lowpan and listen_chan. bt_6lowpan_exit() removes the debugfs files and immediately closes and puts listen_chan. It has no pointer to the queued work item, so it cannot cancel or flush it before tearing down the state that the worker uses. The buggy scenario involves two paths, with each column showing the order within that path: debugfs enable write module exit 1. lowpan_enable_set() allocates 1. bt_6lowpan_exit() removes set_enable work the debugfs file 2. schedule_work() queues 2. bt_6lowpan_exit() closes do_enable_set() and puts listen_chan 3. the write operation returns 3. module teardown can continue 4. do_enable_set() later runs against stale state Run the enable state transition synchronously in lowpan_enable_set() instead. The simple debugfs setter can sleep, and this file already handles the 6LoWPAN control write synchronously under the same set_lock. Once the setter returns, debugfs removal covers the whole operation and exit can no longer race with an untracked work item. Validation reproduced this kernel report: BUG: KASAN: slab-use-after-free in do_enable_set+0x113/0x2e0 Workqueue: events do_enable_set [bluetooth_6lowpan] The buggy address belongs to the object at ffff888109cb8000
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 90305829635d90a5053ec99a261035b4ce0a2649 , < feb3fc2c38ed52003142f31e04109719b200c049 (git)
Affected: 90305829635d90a5053ec99a261035b4ce0a2649 , < 352a59dc1f4a41314b6f827c17e16af7ca88271a (git)
guessed Create a notification for this product.
Linux Linux Affected: 3.19
Unaffected: 0 , < 3.19 (semver)
Unaffected: 7.1.5 , ≤ 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": [
            "net/bluetooth/6lowpan.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "feb3fc2c38ed52003142f31e04109719b200c049",
              "status": "affected",
              "version": "90305829635d90a5053ec99a261035b4ce0a2649",
              "versionType": "git"
            },
            {
              "lessThan": "352a59dc1f4a41314b6f827c17e16af7ca88271a",
              "status": "affected",
              "version": "90305829635d90a5053ec99a261035b4ce0a2649",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/bluetooth/6lowpan.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.19"
            },
            {
              "lessThan": "3.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "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": "7.1.5",
                  "versionStartIncluding": "3.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "3.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: 6lowpan: avoid untracked enable work\n\nlowpan_enable_set() allocates a temporary work item and schedules\ndo_enable_set() on system_wq, then returns to debugfs. The debugfs active\noperation has ended at that point, but the worker still executes module\ntext and manipulates enable_6lowpan and listen_chan.\n\nbt_6lowpan_exit() removes the debugfs files and immediately closes and\nputs listen_chan. It has no pointer to the queued work item, so it cannot\ncancel or flush it before tearing down the state that the worker uses.\n\nThe buggy scenario involves two paths, with each column showing the order\nwithin that path:\n\ndebugfs enable write              module exit\n1. lowpan_enable_set() allocates  1. bt_6lowpan_exit() removes\n   set_enable work                   the debugfs file\n2. schedule_work() queues         2. bt_6lowpan_exit() closes\n   do_enable_set()                   and puts listen_chan\n3. the write operation returns    3. module teardown can continue\n4. do_enable_set() later runs\n   against stale state\n\nRun the enable state transition synchronously in lowpan_enable_set()\ninstead. The simple debugfs setter can sleep, and this file already handles\nthe 6LoWPAN control write synchronously under the same set_lock. Once the\nsetter returns, debugfs removal covers the whole operation and exit can no\nlonger race with an untracked work item.\n\nValidation reproduced this kernel report:\nBUG: KASAN: slab-use-after-free in do_enable_set+0x113/0x2e0\nWorkqueue: events do_enable_set [bluetooth_6lowpan]\nThe buggy address belongs to the object at ffff888109cb8000"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:12:45.609Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/feb3fc2c38ed52003142f31e04109719b200c049"
        },
        {
          "url": "https://git.kernel.org/stable/c/352a59dc1f4a41314b6f827c17e16af7ca88271a"
        }
      ],
      "title": "Bluetooth: 6lowpan: avoid untracked enable work",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72337",
    "datePublished": "2026-08-15T05:55:45.160Z",
    "dateReserved": "2026-08-09T03:40:39.920Z",
    "dateUpdated": "2026-08-17T05:12:45.609Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72337",
      "date": "2026-09-04",
      "epss": "0.00198",
      "percentile": "0.09589"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-72337\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-08-15T06:22:06.953\",\"lastModified\":\"2026-08-17T06:18:37.407\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nBluetooth: 6lowpan: avoid untracked enable work\\n\\nlowpan_enable_set() allocates a temporary work item and schedules\\ndo_enable_set() on system_wq, then returns to debugfs. The debugfs active\\noperation has ended at that point, but the worker still executes module\\ntext and manipulates enable_6lowpan and listen_chan.\\n\\nbt_6lowpan_exit() removes the debugfs files and immediately closes and\\nputs listen_chan. It has no pointer to the queued work item, so it cannot\\ncancel or flush it before tearing down the state that the worker uses.\\n\\nThe buggy scenario involves two paths, with each column showing the order\\nwithin that path:\\n\\ndebugfs enable write              module exit\\n1. lowpan_enable_set() allocates  1. bt_6lowpan_exit() removes\\n   set_enable work                   the debugfs file\\n2. schedule_work() queues         2. bt_6lowpan_exit() closes\\n   do_enable_set()                   and puts listen_chan\\n3. the write operation returns    3. module teardown can continue\\n4. do_enable_set() later runs\\n   against stale state\\n\\nRun the enable state transition synchronously in lowpan_enable_set()\\ninstead. The simple debugfs setter can sleep, and this file already handles\\nthe 6LoWPAN control write synchronously under the same set_lock. Once the\\nsetter returns, debugfs removal covers the whole operation and exit can no\\nlonger race with an untracked work item.\\n\\nValidation reproduced this kernel report:\\nBUG: KASAN: slab-use-after-free in do_enable_set+0x113/0x2e0\\nWorkqueue: events do_enable_set [bluetooth_6lowpan]\\nThe buggy address belongs to the object at ffff888109cb8000\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/bluetooth/6lowpan.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"90305829635d90a5053ec99a261035b4ce0a2649\",\"lessThan\":\"feb3fc2c38ed52003142f31e04109719b200c049\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"90305829635d90a5053ec99a261035b4ce0a2649\",\"lessThan\":\"352a59dc1f4a41314b6f827c17e16af7ca88271a\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/bluetooth/6lowpan.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"3.19\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"3.19\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.1.5\",\"lessThanOrEqual\":\"7.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"7.2\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/352a59dc1f4a41314b6f827c17e16af7ca88271a\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/feb3fc2c38ed52003142f31e04109719b200c049\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-18T23:52:24+00:00",
      "cve": "CVE-2026-72337",
      "id": "CVE-2026-72337",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Bluetooth: 6lowpan: avoid untracked enable work",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72337.json",
      "version": "3"
    }
  }
}



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…

Loading…