CVE-2026-89475 (GCVE-0-2026-89475)
Vulnerability from cvelistv5
Published
2026-09-11 19:43
Modified
2026-10-30 12:31
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: power: supply: bq24257: fix use-after-free on remove The STAT-pin interrupt is devm-managed, so it stays armed until the devm cleanup that runs after remove() returns. remove() cancels bq->iilimit_setup_work while the threaded handler can still fire; that handler reschedules the work and dereferences bq, so the work runs against freed memory once devm frees bq. Make the delayed work device-managed with devm_delayed_work_autocancel(), registered before the interrupt request. The devm cleanup then releases the interrupt first, so the handler can no longer reschedule the work, and cancels the work before bq is freed. The explicit cancel_delayed_work_sync() in remove() is no longer needed and is dropped. Found by static analysis.
Impacted products
Vendor Product Version
Linux Linux Version: 2219a935963e5eeb19e5abfb99475fcc06bbb804
Version: 2219a935963e5eeb19e5abfb99475fcc06bbb804
Version: 2219a935963e5eeb19e5abfb99475fcc06bbb804
Version: 2219a935963e5eeb19e5abfb99475fcc06bbb804
Version: 2219a935963e5eeb19e5abfb99475fcc06bbb804
Version: 2219a935963e5eeb19e5abfb99475fcc06bbb804
Version: 2219a935963e5eeb19e5abfb99475fcc06bbb804
Version: 2219a935963e5eeb19e5abfb99475fcc06bbb804
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/power/supply/bq24257_charger.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "9aace29bbcfa64450c53773ed2f20e95987b3690",
              "status": "affected",
              "version": "2219a935963e5eeb19e5abfb99475fcc06bbb804",
              "versionType": "git"
            },
            {
              "lessThan": "9d77fd7dd9a3ad57f7655c5264b503b85adbb7b8",
              "status": "affected",
              "version": "2219a935963e5eeb19e5abfb99475fcc06bbb804",
              "versionType": "git"
            },
            {
              "lessThan": "a279e64c907f5638bb34cb8e2c9285798cf5f690",
              "status": "affected",
              "version": "2219a935963e5eeb19e5abfb99475fcc06bbb804",
              "versionType": "git"
            },
            {
              "lessThan": "6d2eb93975c07b0169a3287efc1ae3b60cf52d8e",
              "status": "affected",
              "version": "2219a935963e5eeb19e5abfb99475fcc06bbb804",
              "versionType": "git"
            },
            {
              "lessThan": "861ec73ce86e2ca18082cc7be4f140a5bbdf1428",
              "status": "affected",
              "version": "2219a935963e5eeb19e5abfb99475fcc06bbb804",
              "versionType": "git"
            },
            {
              "lessThan": "f495808cdd6d9576965787cf6d9737d0b0e86b73",
              "status": "affected",
              "version": "2219a935963e5eeb19e5abfb99475fcc06bbb804",
              "versionType": "git"
            },
            {
              "lessThan": "47ccbad210f48721c30d69d65b83dc9fff919ca9",
              "status": "affected",
              "version": "2219a935963e5eeb19e5abfb99475fcc06bbb804",
              "versionType": "git"
            },
            {
              "lessThan": "9d34c9d660c3d0931d2cc749c46c47cf31f96e48",
              "status": "affected",
              "version": "2219a935963e5eeb19e5abfb99475fcc06bbb804",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/power/supply/bq24257_charger.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.2"
            },
            {
              "lessThan": "4.2",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.273",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.109",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.273",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.221",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.188",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.157",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.109",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "4.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: bq24257: fix use-after-free on remove\n\nThe STAT-pin interrupt is devm-managed, so it stays armed until the devm\ncleanup that runs after remove() returns. remove() cancels\nbq-\u003eiilimit_setup_work while the threaded handler can still fire; that\nhandler reschedules the work and dereferences bq, so the work runs\nagainst freed memory once devm frees bq.\n\nMake the delayed work device-managed with devm_delayed_work_autocancel(),\nregistered before the interrupt request. The devm cleanup then releases\nthe interrupt first, so the handler can no longer reschedule the work,\nand cancels the work before bq is freed. The explicit\ncancel_delayed_work_sync() in remove() is no longer needed and is dropped.\n\nFound by static analysis."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-30T12:31:51.693Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/9aace29bbcfa64450c53773ed2f20e95987b3690"
        },
        {
          "url": "https://git.kernel.org/stable/c/9d77fd7dd9a3ad57f7655c5264b503b85adbb7b8"
        },
        {
          "url": "https://git.kernel.org/stable/c/a279e64c907f5638bb34cb8e2c9285798cf5f690"
        },
        {
          "url": "https://git.kernel.org/stable/c/6d2eb93975c07b0169a3287efc1ae3b60cf52d8e"
        },
        {
          "url": "https://git.kernel.org/stable/c/861ec73ce86e2ca18082cc7be4f140a5bbdf1428"
        },
        {
          "url": "https://git.kernel.org/stable/c/f495808cdd6d9576965787cf6d9737d0b0e86b73"
        },
        {
          "url": "https://git.kernel.org/stable/c/47ccbad210f48721c30d69d65b83dc9fff919ca9"
        },
        {
          "url": "https://git.kernel.org/stable/c/9d34c9d660c3d0931d2cc749c46c47cf31f96e48"
        }
      ],
      "title": "power: supply: bq24257: fix use-after-free on remove",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-89475",
    "datePublished": "2026-09-11T19:43:32.537Z",
    "dateReserved": "2026-09-11T19:38:34.710Z",
    "dateUpdated": "2026-10-30T12:31:51.693Z",
    "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…