CVE-2025-40283 (GCVE-0-2025-40283)

Vulnerability from cvelistv5 – Published: 2025-12-06 21:51 – Updated: 2026-08-05 12:09
VLAI
Title
Bluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF There is a KASAN: slab-use-after-free read in btusb_disconnect(). Calling "usb_driver_release_interface(&btusb_driver, data->intf)" will free the btusb data associated with the interface. The same data is then used later in the function, hence the UAF. Fix by moving the accesses to btusb data to before the data is free'd.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: fd913ef7ce619467c6b0644af48ba1fec499c623 , < 297dbf87989e09af98f81f2bcb938041785557e8 (git)
Affected: fd913ef7ce619467c6b0644af48ba1fec499c623 , < f858f004bc343a7ae9f2533bbb2a3ab27428532f (git)
Affected: fd913ef7ce619467c6b0644af48ba1fec499c623 , < 7a6d1e740220ff9dfcb6a8c994d6ba49e76db198 (git)
Affected: fd913ef7ce619467c6b0644af48ba1fec499c623 , < 5dc00065a0496c36694afe11e52a5bc64524a9b8 (git)
Affected: fd913ef7ce619467c6b0644af48ba1fec499c623 , < 1c28c1e1522c773a94e26950ffb145e88cd9834b (git)
Affected: fd913ef7ce619467c6b0644af48ba1fec499c623 , < 95b9b98c93b1c0916a3d4cf4540b7f5d69145a0d (git)
Affected: fd913ef7ce619467c6b0644af48ba1fec499c623 , < a2610ecd9fd5708be8997ca8f033e4200c0bb6af (git)
Affected: fd913ef7ce619467c6b0644af48ba1fec499c623 , < 23d22f2f71768034d6ef86168213843fc49bf550 (git)
Create a notification for this product.
Linux Linux Affected: 4.11
Unaffected: 0 , < 4.11 (semver)
Unaffected: 5.4.302 , ≤ 5.4.* (semver)
Unaffected: 5.10.247 , ≤ 5.10.* (semver)
Unaffected: 5.15.197 , ≤ 5.15.* (semver)
Unaffected: 6.1.159 , ≤ 6.1.* (semver)
Unaffected: 6.6.117 , ≤ 6.6.* (semver)
Unaffected: 6.12.59 , ≤ 6.12.* (semver)
Unaffected: 6.17.9 , ≤ 6.17.* (semver)
Unaffected: 6.18 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/bluetooth/btusb.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "297dbf87989e09af98f81f2bcb938041785557e8",
              "status": "affected",
              "version": "fd913ef7ce619467c6b0644af48ba1fec499c623",
              "versionType": "git"
            },
            {
              "lessThan": "f858f004bc343a7ae9f2533bbb2a3ab27428532f",
              "status": "affected",
              "version": "fd913ef7ce619467c6b0644af48ba1fec499c623",
              "versionType": "git"
            },
            {
              "lessThan": "7a6d1e740220ff9dfcb6a8c994d6ba49e76db198",
              "status": "affected",
              "version": "fd913ef7ce619467c6b0644af48ba1fec499c623",
              "versionType": "git"
            },
            {
              "lessThan": "5dc00065a0496c36694afe11e52a5bc64524a9b8",
              "status": "affected",
              "version": "fd913ef7ce619467c6b0644af48ba1fec499c623",
              "versionType": "git"
            },
            {
              "lessThan": "1c28c1e1522c773a94e26950ffb145e88cd9834b",
              "status": "affected",
              "version": "fd913ef7ce619467c6b0644af48ba1fec499c623",
              "versionType": "git"
            },
            {
              "lessThan": "95b9b98c93b1c0916a3d4cf4540b7f5d69145a0d",
              "status": "affected",
              "version": "fd913ef7ce619467c6b0644af48ba1fec499c623",
              "versionType": "git"
            },
            {
              "lessThan": "a2610ecd9fd5708be8997ca8f033e4200c0bb6af",
              "status": "affected",
              "version": "fd913ef7ce619467c6b0644af48ba1fec499c623",
              "versionType": "git"
            },
            {
              "lessThan": "23d22f2f71768034d6ef86168213843fc49bf550",
              "status": "affected",
              "version": "fd913ef7ce619467c6b0644af48ba1fec499c623",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/bluetooth/btusb.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.11"
            },
            {
              "lessThan": "4.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.302",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.247",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.197",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.159",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.117",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.59",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.17.*",
              "status": "unaffected",
              "version": "6.17.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.18",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.302",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.247",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.197",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.159",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.117",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.59",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.17.9",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18",
                  "versionStartIncluding": "4.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF\n\nThere is a KASAN: slab-use-after-free read in btusb_disconnect().\nCalling \"usb_driver_release_interface(\u0026btusb_driver, data-\u003eintf)\" will\nfree the btusb data associated with the interface. The same data is\nthen used later in the function, hence the UAF.\n\nFix by moving the accesses to btusb data to before the data is free\u0027d."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The UAF is triggered by interface-unbind ordering, not by Bluetooth traffic; a local process can force `btusb_disconnect()` to run on the isoc/diag interface first via the usbfs `USBDEVFS_DISCONNECT` ioctl (drivers/usb/core/devio.c:2355) or sysfs unbind, with no physical access or crafted hardware. This matches the scoring of CVE-2025-71082, the general fix for the identical `devm_kzalloc` lifetime root cause.\nAC:L - The attacker chooses exactly which interface is released and when, so the free-then-use sequence executes deterministically every time \u2014 no race or memory-layout condition outside their control is involved.\nPR:L - The attacker needs an unprivileged local account holding a writable handle on the device\u0027s usbfs node, routinely granted via plugdev/uaccess ACLs or USB passthrough into a container; no CAP_SYS_ADMIN or init-namespace root is required.\nUI:N - The ioctl/unbind is issued entirely by the attacker\u0027s own process against an already-enumerated dongle; no victim action is needed.\nS:U - The corruption and its consequences are confined to the kernel\u0027s own security authority \u2014 there is no VM, IOMMU, or sandbox boundary crossed.\nC:H - Per kernel scoring guidance a use-after-free is High; reclaiming the freed `btusb_data` slot lets the attacker steer `data-\u003eudev` and `data-\u003ereset_gpio` into `device_init_wakeup()`/`gpiod_put()`, yielding a controlled-pointer read primitive usable for kernel memory disclosure.\nI:H - The stale `data-\u003eudev` is dereferenced and written through by `device_init_wakeup()`, and `data-\u003ereset_gpio` is passed to `gpiod_put()`/`gpiod_free()`, giving heap-spray-backed write and free primitives suitable for control-flow hijack.\nA:H - Even unweaponized, the slab-use-after-free reads a poisoned or reallocated pointer and dereferences it, producing the KASAN-confirmed oops/panic reported by syzbot."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:09:13.092Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/297dbf87989e09af98f81f2bcb938041785557e8"
        },
        {
          "url": "https://git.kernel.org/stable/c/f858f004bc343a7ae9f2533bbb2a3ab27428532f"
        },
        {
          "url": "https://git.kernel.org/stable/c/7a6d1e740220ff9dfcb6a8c994d6ba49e76db198"
        },
        {
          "url": "https://git.kernel.org/stable/c/5dc00065a0496c36694afe11e52a5bc64524a9b8"
        },
        {
          "url": "https://git.kernel.org/stable/c/1c28c1e1522c773a94e26950ffb145e88cd9834b"
        },
        {
          "url": "https://git.kernel.org/stable/c/95b9b98c93b1c0916a3d4cf4540b7f5d69145a0d"
        },
        {
          "url": "https://git.kernel.org/stable/c/a2610ecd9fd5708be8997ca8f033e4200c0bb6af"
        },
        {
          "url": "https://git.kernel.org/stable/c/23d22f2f71768034d6ef86168213843fc49bf550"
        }
      ],
      "title": "Bluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-40283",
    "datePublished": "2025-12-06T21:51:07.409Z",
    "dateReserved": "2025-04-16T07:20:57.184Z",
    "dateUpdated": "2026-08-05T12:09:13.092Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-40283",
      "date": "2026-08-09",
      "epss": "0.0014",
      "percentile": "0.03778"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-40283\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-12-06T22:15:56.393\",\"lastModified\":\"2026-07-30T06:24:26.490\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nBluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF\\n\\nThere is a KASAN: slab-use-after-free read in btusb_disconnect().\\nCalling \\\"usb_driver_release_interface(\u0026btusb_driver, data-\u003eintf)\\\" will\\nfree the btusb data associated with the interface. The same data is\\nthen used later in the function, hence the UAF.\\n\\nFix by moving the accesses to btusb data to before the data is free\u0027d.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"drivers/bluetooth/btusb.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"fd913ef7ce619467c6b0644af48ba1fec499c623\",\"lessThan\":\"297dbf87989e09af98f81f2bcb938041785557e8\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd913ef7ce619467c6b0644af48ba1fec499c623\",\"lessThan\":\"f858f004bc343a7ae9f2533bbb2a3ab27428532f\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd913ef7ce619467c6b0644af48ba1fec499c623\",\"lessThan\":\"7a6d1e740220ff9dfcb6a8c994d6ba49e76db198\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd913ef7ce619467c6b0644af48ba1fec499c623\",\"lessThan\":\"5dc00065a0496c36694afe11e52a5bc64524a9b8\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd913ef7ce619467c6b0644af48ba1fec499c623\",\"lessThan\":\"1c28c1e1522c773a94e26950ffb145e88cd9834b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd913ef7ce619467c6b0644af48ba1fec499c623\",\"lessThan\":\"95b9b98c93b1c0916a3d4cf4540b7f5d69145a0d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd913ef7ce619467c6b0644af48ba1fec499c623\",\"lessThan\":\"a2610ecd9fd5708be8997ca8f033e4200c0bb6af\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd913ef7ce619467c6b0644af48ba1fec499c623\",\"lessThan\":\"23d22f2f71768034d6ef86168213843fc49bf550\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"drivers/bluetooth/btusb.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.11\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.11\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.302\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.247\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.197\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.159\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.117\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.59\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.17.9\",\"lessThanOrEqual\":\"6.17.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.18\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1c28c1e1522c773a94e26950ffb145e88cd9834b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/23d22f2f71768034d6ef86168213843fc49bf550\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/297dbf87989e09af98f81f2bcb938041785557e8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5dc00065a0496c36694afe11e52a5bc64524a9b8\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7a6d1e740220ff9dfcb6a8c994d6ba49e76db198\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/95b9b98c93b1c0916a3d4cf4540b7f5d69145a0d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a2610ecd9fd5708be8997ca8f033e4200c0bb6af\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f858f004bc343a7ae9f2533bbb2a3ab27428532f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-30T08:38:03+00:00",
      "cve": "CVE-2025-40283",
      "id": "CVE-2025-40283",
      "initial_release_date": "2025-12-06T00:00:00+00:00",
      "product_status:known_affected": "246",
      "product_status:known_not_affected": "28",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Bluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-40283.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-25T00:32:05Z",
      "cve": "CVE-2025-40283",
      "id": "CVE-2025-40283",
      "initial_release_date": "2025-12-08T00:23:02Z",
      "product_status:first_fixed": "2",
      "product_status:known_affected": "608",
      "product_status:known_not_affected": "77",
      "product_status:recommended": "425",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2025-40283",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2025-40283.json",
      "version": "45"
    }
  }
}



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…