CVE-2025-21827 (GCVE-0-2025-21827)
Vulnerability from cvelistv5
Published
2025-03-06 16:04
Modified
2025-05-04 07:21
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btusb: mediatek: Add locks for usb_driver_claim_interface() The documentation for usb_driver_claim_interface() says that "the device lock" is needed when the function is called from places other than probe(). This appears to be the lock for the USB interface device. The Mediatek btusb code gets called via this path: Workqueue: hci0 hci_power_on [bluetooth] Call trace: usb_driver_claim_interface btusb_mtk_claim_iso_intf btusb_mtk_setup hci_dev_open_sync hci_power_on process_scheduled_works worker_thread kthread With the above call trace the device lock hasn't been claimed. Claim it. Without this fix, we'd sometimes see the error "Failed to claim iso interface". Sometimes we'd even see worse errors, like a NULL pointer dereference (where `intf->dev.driver` was NULL) with a trace like: Call trace: usb_suspend_both usb_runtime_suspend __rpm_callback rpm_suspend pm_runtime_work process_scheduled_works Both errors appear to be fixed with the proper locking.
Impacted products
Vendor Product Version
Linux Linux Version: ceac1cb0259de682d78f5c784ef8e0b13022e9d9
Version: ceac1cb0259de682d78f5c784ef8e0b13022e9d9
Version: ceac1cb0259de682d78f5c784ef8e0b13022e9d9
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": "930e1790b99e5839e1af69d2f7fd808f1fba2df9",
              "status": "affected",
              "version": "ceac1cb0259de682d78f5c784ef8e0b13022e9d9",
              "versionType": "git"
            },
            {
              "lessThan": "4194766ec8756f4f654d595ae49962acbac49490",
              "status": "affected",
              "version": "ceac1cb0259de682d78f5c784ef8e0b13022e9d9",
              "versionType": "git"
            },
            {
              "lessThan": "e9087e828827e5a5c85e124ce77503f2b81c3491",
              "status": "affected",
              "version": "ceac1cb0259de682d78f5c784ef8e0b13022e9d9",
              "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": "6.11"
            },
            {
              "lessThan": "6.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.13.*",
              "status": "unaffected",
              "version": "6.13.2",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.14",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.13",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13.2",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: btusb: mediatek: Add locks for usb_driver_claim_interface()\n\nThe documentation for usb_driver_claim_interface() says that \"the\ndevice lock\" is needed when the function is called from places other\nthan probe(). This appears to be the lock for the USB interface\ndevice. The Mediatek btusb code gets called via this path:\n\n  Workqueue: hci0 hci_power_on [bluetooth]\n  Call trace:\n   usb_driver_claim_interface\n   btusb_mtk_claim_iso_intf\n   btusb_mtk_setup\n   hci_dev_open_sync\n   hci_power_on\n   process_scheduled_works\n   worker_thread\n   kthread\n\nWith the above call trace the device lock hasn\u0027t been claimed. Claim\nit.\n\nWithout this fix, we\u0027d sometimes see the error \"Failed to claim iso\ninterface\". Sometimes we\u0027d even see worse errors, like a NULL pointer\ndereference (where `intf-\u003edev.driver` was NULL) with a trace like:\n\n  Call trace:\n   usb_suspend_both\n   usb_runtime_suspend\n   __rpm_callback\n   rpm_suspend\n   pm_runtime_work\n   process_scheduled_works\n\nBoth errors appear to be fixed with the proper locking."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-05-04T07:21:59.520Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/930e1790b99e5839e1af69d2f7fd808f1fba2df9"
        },
        {
          "url": "https://git.kernel.org/stable/c/4194766ec8756f4f654d595ae49962acbac49490"
        },
        {
          "url": "https://git.kernel.org/stable/c/e9087e828827e5a5c85e124ce77503f2b81c3491"
        }
      ],
      "title": "Bluetooth: btusb: mediatek: Add locks for usb_driver_claim_interface()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-21827",
    "datePublished": "2025-03-06T16:04:32.951Z",
    "dateReserved": "2024-12-29T08:45:45.776Z",
    "dateUpdated": "2025-05-04T07:21:59.520Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-21827\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-03-06T16:15:54.967\",\"lastModified\":\"2025-03-06T16:15:54.967\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nBluetooth: btusb: mediatek: Add locks for usb_driver_claim_interface()\\n\\nThe documentation for usb_driver_claim_interface() says that \\\"the\\ndevice lock\\\" is needed when the function is called from places other\\nthan probe(). This appears to be the lock for the USB interface\\ndevice. The Mediatek btusb code gets called via this path:\\n\\n  Workqueue: hci0 hci_power_on [bluetooth]\\n  Call trace:\\n   usb_driver_claim_interface\\n   btusb_mtk_claim_iso_intf\\n   btusb_mtk_setup\\n   hci_dev_open_sync\\n   hci_power_on\\n   process_scheduled_works\\n   worker_thread\\n   kthread\\n\\nWith the above call trace the device lock hasn\u0027t been claimed. Claim\\nit.\\n\\nWithout this fix, we\u0027d sometimes see the error \\\"Failed to claim iso\\ninterface\\\". Sometimes we\u0027d even see worse errors, like a NULL pointer\\ndereference (where `intf-\u003edev.driver` was NULL) with a trace like:\\n\\n  Call trace:\\n   usb_suspend_both\\n   usb_runtime_suspend\\n   __rpm_callback\\n   rpm_suspend\\n   pm_runtime_work\\n   process_scheduled_works\\n\\nBoth errors appear to be fixed with the proper locking.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Bluetooth: btusb: mediatek: Add locks for usb_driver_claim_interface() The documentation for usb_driver_claim_interface() says that \\\"the device lock\\\" is needed when the function is called from places other than probe(). This appears to be the lock for the USB interface device. The Mediatek btusb code gets called via this path: Workqueue: hci0 hci_power_on [bluetooth] Call trace: usb_driver_claim_interface btusb_mtk_claim_iso_intf btusb_mtk_setup hci_dev_open_sync hci_power_on process_scheduled_works worker_thread kthread With the above call trace the device lock hasn\u0027t been claimed. Claim it. Without this fix, we\u0027d sometimes see the error \\\"Failed to claim iso interface\\\". Sometimes we\u0027d even see worse errors, like a NULL pointer dereference (where `intf-\u0026gt;dev.driver` was NULL) with a trace like: Call trace: usb_suspend_both usb_runtime_suspend __rpm_callback rpm_suspend pm_runtime_work process_scheduled_works Ambos errores parecen solucionarse con el bloqueo adecuado.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/4194766ec8756f4f654d595ae49962acbac49490\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/930e1790b99e5839e1af69d2f7fd808f1fba2df9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/e9087e828827e5a5c85e124ce77503f2b81c3491\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…