Skip to content
Heist/ feed
Back to feed
UnratedFix available

power: supply: bq256xx: drain usb_work before freeing the charger

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: power: supply: bq256xx: drain usb_work before freeing the charger The USB-PHY notifier queues usb_work, whose handler calls power_supply_changed(bq->charger). The reset devm action only unregisters the notifier and was registered before the power supplies, so devm frees bq->charger on unwind before the action runs; a usb_work still queued can then dereference it. Register the reset action after the power supplies, so it unregisters the notifiers and drains usb_work before the supplies are released. Initialize usb_work and obtain the PHY references before registering the notifiers, so the worker cannot run before the supplies exist. Found by static analysis.

Products
Kernel
Affected versions
Not specified
Fixed versions
5.15.221, 6.1.188, 6.12.109, 6.18.50, 6.6.157, 7.2.4
CVEs
CVE-2026-89474
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 02:46 UTC · Revision 1

Source evidence

power: supply: bq256xx: drain usb_work before freeing the charger

core-osv · Original source

Published 11 Sept 2026, 19:43 UTC

In the Linux kernel, the following vulnerability has been resolved: power: supply: bq256xx: drain usb_work before freeing the charger The USB-PHY notifier queues usb_work, whose handler calls power_supply_changed(bq->charger). The reset devm action only unregisters the notifier and was registered before the power supplies, so devm frees bq->charger on unwind before the action runs; a usb_work still queued can then dereference it. Register the reset action after the power supplies, so it unregisters the notifiers and drains usb_work before the supplies are released. Initialize usb_work and obtain the PHY references before registering the notifiers, so the worker cannot run before the supplies exist. Found by static analysis.

osv:CVE-2026-89474

Kernel

Fixed versions: 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50, 7.2.4

Complete source record
{
  "id": "d85f46649aef80909992812b51ca243a73b807f06ea9d2137fdf0bb30d481cd8",
  "url": "https://osv.dev/vulnerability/CVE-2026-89474",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "power: supply: bq256xx: drain usb_work before freeing the charger",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: power: supply: bq256xx: drain usb_work before freeing the charger The USB-PHY notifier queues usb_work, whose handler calls power_supply_changed(bq->charger). The reset devm action only unregisters the notifier and was registered before the power supplies, so devm frees bq->charger on unwind before the action runs; a usb_work still queued can then dereference it. Register the reset action after the power supplies, so it unregisters the notifiers and drains usb_work before the supplies are released. Initialize usb_work and obtain the PHY references before registering the notifiers, so the worker cannot run before the supplies exist. Found by static analysis.",
    "evidence": "osv:CVE-2026-89474",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "5.15.221",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.1.188",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.157",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.12.109",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.18.50",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "7.2.4",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "unknown",
    "structured": {
      "id": "CVE-2026-89474",
      "aliases": [
        "CVE-2026-89474"
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "32e4978bb920d047fe5de3ea42d176f267c01f63"
                },
                {
                  "fixed": "9dcfdf6c598301b278f0b3490eb2bf4f600524e2"
                },
                {
                  "fixed": "fd08d4dbbec07a44f01b0ddb041912be0dc88f8c"
                },
                {
                  "fixed": "2cfb59dc9df8b5ebdd95e3d874a7f4690cee2bc8"
                },
                {
                  "fixed": "9a467bd1e6811011026ad4c8de701b940d88a00c"
                },
                {
                  "fixed": "9e1aba34df9a87d53460888e05718717c0f69343"
                },
                {
                  "fixed": "c8addb842ae8dcf69c15fc976e33e3bd538a41d7"
                },
                {
                  "fixed": "2dd6cd823777bea6d9a880a12a92a73ec76aee0b"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89474.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.12.0"
                },
                {
                  "fixed": "5.15.221"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "5.16.0"
                },
                {
                  "fixed": "6.1.188"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.157"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "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"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89474.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:53.025431362Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/2cfb59dc9df8b5ebdd95e3d874a7f4690cee2bc8",
        "https://git.kernel.org/stable/c/2dd6cd823777bea6d9a880a12a92a73ec76aee0b",
        "https://git.kernel.org/stable/c/9a467bd1e6811011026ad4c8de701b940d88a00c",
        "https://git.kernel.org/stable/c/9dcfdf6c598301b278f0b3490eb2bf4f600524e2",
        "https://git.kernel.org/stable/c/9e1aba34df9a87d53460888e05718717c0f69343",
        "https://git.kernel.org/stable/c/c8addb842ae8dcf69c15fc976e33e3bd538a41d7",
        "https://git.kernel.org/stable/c/fd08d4dbbec07a44f01b0ddb041912be0dc88f8c",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89474.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-89474",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89474.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-89474",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": null
  },
  "source_id": "core-osv",
  "document_id": 521919,
  "published_at": "2026-09-11T19:43:31.882+00:00"
}