CVE-2025-71145 (GCVE-0-2025-71145)
Vulnerability from cvelistv5
Published
2026-01-23 13:39
Modified
2026-08-05 12:12
Summary
In the Linux kernel, the following vulnerability has been resolved: usb: phy: isp1301: fix non-OF device reference imbalance A recent change fixing a device reference leak in a UDC driver introduced a potential use-after-free in the non-OF case as the isp1301_get_client() helper only increases the reference count for the returned I2C device in the OF case. Increment the reference count also for non-OF so that the caller can decrement it unconditionally. Note that this is inherently racy just as using the returned I2C device is since nothing is preventing the PHY driver from being unbound while in use.
Impacted products
Vendor Product Version
Linux Linux Version: 0c2b0e747010fa645342138d71339a0ecb823bb0
Version: 33c2e2a87313bc1afe9f7febbbb2014c431a2c5d
Version: 8481323710062051b3c42bff94ee5b18a2b496ca
Version: 8bd518ea03b81eb7b4a734b7b901866c448f6c07
Version: cefaad839a384a72331aedad927b1944fb6943dc
Version: c84117912bddd9e5d87e68daf182410c98181407
Version: 21c7c83d592e6335bfb6d65608da3726f976bad4
Version: 5.10.248   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/phy/phy-isp1301.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "43e58abad6c08c5f0943594126ef4cd6559aac0b",
              "status": "affected",
              "version": "0c2b0e747010fa645342138d71339a0ecb823bb0",
              "versionType": "git"
            },
            {
              "lessThan": "03bbdaa4da8c6ea0c8431a5011db188a07822c8a",
              "status": "affected",
              "version": "33c2e2a87313bc1afe9f7febbbb2014c431a2c5d",
              "versionType": "git"
            },
            {
              "lessThan": "75c5d9bce072abbbc09b701a49869ac23c34a906",
              "status": "affected",
              "version": "8481323710062051b3c42bff94ee5b18a2b496ca",
              "versionType": "git"
            },
            {
              "lessThan": "5d3df03f70547d4e3fc10ed4381c052eff51b157",
              "status": "affected",
              "version": "8bd518ea03b81eb7b4a734b7b901866c448f6c07",
              "versionType": "git"
            },
            {
              "lessThan": "7501ecfe3e5202490c2d13dc7e181203601fcd69",
              "status": "affected",
              "version": "cefaad839a384a72331aedad927b1944fb6943dc",
              "versionType": "git"
            },
            {
              "lessThan": "b4b64fda4d30a83a7f00e92a0c8a1d47699609f3",
              "status": "affected",
              "version": "c84117912bddd9e5d87e68daf182410c98181407",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "21c7c83d592e6335bfb6d65608da3726f976bad4",
              "versionType": "git"
            },
            {
              "lessThan": "5.11",
              "status": "affected",
              "version": "5.10.248",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/phy/phy-isp1301.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux"
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.10.248",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: phy: isp1301: fix non-OF device reference imbalance\n\nA recent change fixing a device reference leak in a UDC driver\nintroduced a potential use-after-free in the non-OF case as the\nisp1301_get_client() helper only increases the reference count for the\nreturned I2C device in the OF case.\n\nIncrement the reference count also for non-OF so that the caller can\ndecrement it unconditionally.\n\nNote that this is inherently racy just as using the returned I2C device\nis since nothing is preventing the PHY driver from being unbound while\nin use."
        }
      ],
      "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 - No network or USB packet handler reaches the faulty reference release. Exploitation requires local interaction with the platform-driver lifecycle or subsequent local use of the dangling kernel objects.\nAC:L - On an affected non-OF deployment, probe-error cleanup or driver removal deterministically drops a reference that was never acquired. No race must be won, and heap reclaim can be attacker-groomed.\nPR:L - Although manual unbind or module removal requires init-namespace administration, the same release occurs during automatic probe-failure cleanup. A basic local user can groom and exercise the resulting published dangling I2C and USB-PHY objects.\nUI:N - Probe and cleanup can occur automatically without a victim performing an action. Subsequent exploitation of the dangling objects requires no user interaction.\nS:U - The corruption affects the kernel and resources governed by the same system security authority. It does not cross a VM, IOMMU, or comparable isolation boundary.\nC:H - The release frees the I2C client and devres-managed ISP1301 object while global pointers and I2C and USB-PHY lists still reference them. Reclaiming these objects can expose arbitrary kernel memory through attacker-shaped stale pointers.\nI:H - Dangling klist operations can modify reclaimed memory, while a reclaimed client can supply a forged adapter and indirect I2C algorithm callbacks. This can provide arbitrary writes and kernel control-flow hijacking.\nA:H - Traversal or use of the dangling client, device-private nodes, or USB-PHY list entry can cause an immediate kernel oops, panic, or invalid function call."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:12:19.804Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/43e58abad6c08c5f0943594126ef4cd6559aac0b"
        },
        {
          "url": "https://git.kernel.org/stable/c/03bbdaa4da8c6ea0c8431a5011db188a07822c8a"
        },
        {
          "url": "https://git.kernel.org/stable/c/75c5d9bce072abbbc09b701a49869ac23c34a906"
        },
        {
          "url": "https://git.kernel.org/stable/c/5d3df03f70547d4e3fc10ed4381c052eff51b157"
        },
        {
          "url": "https://git.kernel.org/stable/c/7501ecfe3e5202490c2d13dc7e181203601fcd69"
        },
        {
          "url": "https://git.kernel.org/stable/c/b4b64fda4d30a83a7f00e92a0c8a1d47699609f3"
        }
      ],
      "title": "usb: phy: isp1301: fix non-OF device reference imbalance",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-71145",
    "datePublished": "2026-01-23T13:39:17.857Z",
    "dateReserved": "2026-01-13T15:30:19.661Z",
    "dateUpdated": "2026-08-05T12:12:19.804Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


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.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • 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…