CVE-2026-89467 (GCVE-0-2026-89467)
Vulnerability from cvelistv5
Published
2026-09-11 19:43
Modified
2026-10-21 12:47
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: power: supply: qcom_battmgr: fix use-after-free qcom_battmgr_pdr_notify() queues enable_work when the PMIC GLINK service comes up, and the worker recovers battmgr through container_of() to issue firmware requests. The PMIC GLINK client stays on the client list until its devres release action runs, so a PDR notification can keep queueing the work, and a pending or running worker can access battmgr after devres frees it. Make enable_work device-managed with devm_work_autocancel(), registered before the PMIC GLINK client is allocated. The devres cleanup then releases the client first, so no further notification can queue the work, and cancels the work before battmgr is freed. This issue was found by an in-house static analysis tool.
Impacted products
Vendor Product Version
Linux Linux Version: 29e8142b5623b5949587bcc4f591c4e6595c4aca
Version: 29e8142b5623b5949587bcc4f591c4e6595c4aca
Version: 29e8142b5623b5949587bcc4f591c4e6595c4aca
Version: 29e8142b5623b5949587bcc4f591c4e6595c4aca
Version: 29e8142b5623b5949587bcc4f591c4e6595c4aca
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/power/supply/qcom_battmgr.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "35964ed01e10b61a30066b0c568aa0e0e8fb6432",
              "status": "affected",
              "version": "29e8142b5623b5949587bcc4f591c4e6595c4aca",
              "versionType": "git"
            },
            {
              "lessThan": "77fefca305db44b0edd3fcdb52d781771c1ce366",
              "status": "affected",
              "version": "29e8142b5623b5949587bcc4f591c4e6595c4aca",
              "versionType": "git"
            },
            {
              "lessThan": "06618447029c6dddaa02f6e9528efe5dd49fc329",
              "status": "affected",
              "version": "29e8142b5623b5949587bcc4f591c4e6595c4aca",
              "versionType": "git"
            },
            {
              "lessThan": "49fbcd3da2958159370d25dafbf736e654a4d59b",
              "status": "affected",
              "version": "29e8142b5623b5949587bcc4f591c4e6595c4aca",
              "versionType": "git"
            },
            {
              "lessThan": "4e40befedfc8ed86f44e1f81df92d13c149c9f8d",
              "status": "affected",
              "version": "29e8142b5623b5949587bcc4f591c4e6595c4aca",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/power/supply/qcom_battmgr.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.3"
            },
            {
              "lessThan": "6.3",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.160",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.112",
              "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": "6.6.160",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.112",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "6.3",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: qcom_battmgr: fix use-after-free\n\nqcom_battmgr_pdr_notify() queues enable_work when the PMIC GLINK service\ncomes up, and the worker recovers battmgr through container_of() to issue\nfirmware requests. The PMIC GLINK client stays on the client list until\nits devres release action runs, so a PDR notification can keep queueing\nthe work, and a pending or running worker can access battmgr after devres\nfrees it.\n\nMake enable_work device-managed with devm_work_autocancel(), registered\nbefore the PMIC GLINK client is allocated. The devres cleanup then\nreleases the client first, so no further notification can queue the work,\nand cancels the work before battmgr is freed.\n\nThis issue was found by an in-house static analysis tool."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-21T12:47:32.936Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/35964ed01e10b61a30066b0c568aa0e0e8fb6432"
        },
        {
          "url": "https://git.kernel.org/stable/c/77fefca305db44b0edd3fcdb52d781771c1ce366"
        },
        {
          "url": "https://git.kernel.org/stable/c/06618447029c6dddaa02f6e9528efe5dd49fc329"
        },
        {
          "url": "https://git.kernel.org/stable/c/49fbcd3da2958159370d25dafbf736e654a4d59b"
        },
        {
          "url": "https://git.kernel.org/stable/c/4e40befedfc8ed86f44e1f81df92d13c149c9f8d"
        }
      ],
      "title": "power: supply: qcom_battmgr: fix use-after-free",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-89467",
    "datePublished": "2026-09-11T19:43:27.247Z",
    "dateReserved": "2026-09-11T19:38:34.709Z",
    "dateUpdated": "2026-10-21T12:47:32.936Z",
    "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…