{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "d6ccc442b12102414c1343f0adacaa8a1aaa516c"
            },
            {
              "fixed": "72a2d6cd049f892853e4e2d8d8fc5e7d0244a458"
            },
            {
              "fixed": "a4460e89d4088cfec2da5be33e265ef1a8e780e9"
            },
            {
              "fixed": "b955da82db4170bdf1c784dc457287aa0c977378"
            },
            {
              "fixed": "6eba34732524067da2aad5ddfdfbc641ded10e9e"
            }
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "type": "GIT"
        }
      ]
    },
    {
      "package": {
        "ecosystem": "Linux",
        "name": "Kernel"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "2.6.39"
            },
            {
              "fixed": "6.12.109"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.13.0"
            },
            {
              "fixed": "6.18.50"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "6.19.0"
            },
            {
              "fixed": "7.2.4"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "database_specific": {
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89464.json"
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\npower: supply: twl4030_charger: cancel workers via devm\n\nbci is devm-allocated. Two workers (bci-\u003ework and bci-\u003ecurrent_worker)\ndereference it. twl4030_bci_remove() disables charging and masks\ninterrupts. It cancels neither worker. A worker pending at remove() can\nrun after devm frees bci.\n\nThe USB transceiver comes from devm_usb_get_phy_by_node(). devm\nunregisters its notifier only after remove() returns. A cancel_work_sync()\nin remove() can then race a notifier reschedule. devm_work_autocancel()\nand devm_delayed_work_autocancel() avoid that. They cancel the workers\nduring devm release, before bci is freed.\n\nThe current_worker is registered first, since devm will cancel in\nreverse order and bci-\u003ework can reschedule current_worker.\n\n[Move comment about order into the commit message]",
  "id": "CVE-2026-89464",
  "modified": "2026-09-13T03:30:58.839838008Z",
  "published": "2026-09-11T19:43:25.282Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/6eba34732524067da2aad5ddfdfbc641ded10e9e"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/72a2d6cd049f892853e4e2d8d8fc5e7d0244a458"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/a4460e89d4088cfec2da5be33e265ef1a8e780e9"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/b955da82db4170bdf1c784dc457287aa0c977378"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89464.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-89464"
    },
    {
      "type": "PACKAGE",
      "url": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
    }
  ],
  "schema_version": "1.9.0",
  "summary": "power: supply: twl4030_charger: cancel workers via devm"
}