← Back to CVE Explorer

CVE-2026-89469

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: power: supply: lp8727: fix use-after-free in lp8727_release_irq() lp8727_isr_func(), the threaded IRQ handler, is the only caller that arms pchg->work via schedule_delayed_work(). lp8727_release_irq() currently cancels the work before freeing the IRQ, so an IRQ delivered in between can re-arm the work through the threaded handler. After .remove returns the devm layer frees pchg while lp8727_delayed_func() may still run and dereference it. Free the IRQ first so the threaded handler is quiesced and can no longer queue work, then cancel the delayed work to drain the final generation. This issue was found by an in-house static analysis tool.

Severity
HIGH
CVSS score
8.4 (v3.1)
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-11 20:19:28.023000
Last modified
2026-10-19 09:17:39.540000
View original CVE JSON
{
  "id": "CVE-2026-89469",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-11T20:19:28.023",
  "lastModified": "2026-10-19T09:17:39.540",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: lp8727: fix use-after-free in lp8727_release_irq()\n\nlp8727_isr_func(), the threaded IRQ handler, is the only caller that arms\npchg->work via schedule_delayed_work().  lp8727_release_irq() currently\ncancels the work before freeing the IRQ, so an IRQ delivered in between\ncan re-arm the work through the threaded handler.  After .remove returns\nthe devm layer frees pchg while lp8727_delayed_func() may still run and\ndereference it.\n\nFree the IRQ first so the threaded handler is quiesced and can no longer\nqueue work, then cancel the delayed work to drain the final generation.\n\nThis issue was found by an in-house static analysis tool."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/power/supply/lp8727_charger.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "d71fda01610269e3aaedd451f8d3e34cdf550036",
              "lessThan": "1321a4e6247164312eabc6d07f88572da2ee308c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d71fda01610269e3aaedd451f8d3e34cdf550036",
              "lessThan": "dc1dc2837f8e53bde2f16d52a63f4142e21757f1",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d71fda01610269e3aaedd451f8d3e34cdf550036",
              "lessThan": "035cc6bc4d412dd4302862e8f859b784fcd4653b",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d71fda01610269e3aaedd451f8d3e34cdf550036",
              "lessThan": "6f0ce09d60a0e4fab6f9ebe8294750481f0c19dd",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d71fda01610269e3aaedd451f8d3e34cdf550036",
              "lessThan": "80d4e40a85ba524e66c8c748aa7bb19eaf2f69df",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d71fda01610269e3aaedd451f8d3e34cdf550036",
              "lessThan": "ab6b1ad710bed7931540733ce145493fece8ceef",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d71fda01610269e3aaedd451f8d3e34cdf550036",
              "lessThan": "6ab3128292df67295de1b2a86f21d89cf6612a7e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d71fda01610269e3aaedd451f8d3e34cdf550036",
              "lessThan": "ceb6ac43b0f591722401922ceb958ce2616935e0",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/power/supply/lp8727_charger.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "3.7",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "3.7",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.270",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.221",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.188",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.157",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.109",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.50",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.4",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "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:N/UI:N/S:U/C:H/I:H/A:H",
          "baseScore": 8.4,
          "baseSeverity": "HIGH",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "availabilityImpact": "HIGH"
        },
        "exploitabilityScore": 2.5,
        "impactScore": 5.9
      }
    ]
  },
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/035cc6bc4d412dd4302862e8f859b784fcd4653b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/1321a4e6247164312eabc6d07f88572da2ee308c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6ab3128292df67295de1b2a86f21d89cf6612a7e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6f0ce09d60a0e4fab6f9ebe8294750481f0c19dd",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/80d4e40a85ba524e66c8c748aa7bb19eaf2f69df",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ab6b1ad710bed7931540733ce145493fece8ceef",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ceb6ac43b0f591722401922ceb958ce2616935e0",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/dc1dc2837f8e53bde2f16d52a63f4142e21757f1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}