{
  "cveId": "CVE-2023-53166",
  "url": "https://patchblox.com/security/cve/CVE-2023-53166",
  "summary": "CVE-2023-53166 is fixed in linux on 1 platform, first by DEBIAN-CVE-2023-53166, released September 15, 2025. It is not reported as exploited. Patch Radar priority: Routine.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  power: supply: bq25890: Fix external_power_chang...",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  power: supply: bq25890: Fix external_power_changed race  bq25890_charger_external_power_changed() dereferences bq-\u003Echarger, which gets sets in bq25890_power_supply_init() like this:    bq-\u003Echarger = devm_power_supply_register(bq-\u003Edev, \u0026bq-\u003Edesc, \u0026psy_cfg);  As soon as devm_power_supply_register() has called device_add() the external_power_changed callback can get called. So there is a window where bq25890_charger_external_power_changed() may get called while bq-\u003Echarger has not been set yet leading to a NULL pointer dereference.  This race hits during boot sometimes on a Lenovo Yoga Book 1 yb1-x90f when the cht_wcove_pwrsrc (extcon) power_supply is done with detecting the connected charger-type which happens to exactly hit the small window:    BUG: kernel NULL pointer dereference, address: 0000000000000018   \u003Csnip\u003E   RIP: 0010:__power_supply_is_supplied_by\u002B0xb/0xb0   \u003Csnip\u003E   Call Trace:    \u003CTASK\u003E    __power_supply_get_supplier_property\u002B0x19/0x50    class_for_each_device\u002B0xb1/0xe0    power_supply_get_property_from_supplier\u002B0x2e/0x50    bq25890_charger_external_power_changed\u002B0x38/0x1b0 [bq25890_charger]    __power_supply_changed_work\u002B0x30/0x40    class_for_each_device\u002B0xb1/0xe0    power_supply_changed_work\u002B0x5f/0xe0   \u003Csnip\u003E  Fixing this is easy. The external_power_changed callback gets passed the power_supply which will eventually get stored in bq-\u003Echarger, so bq25890_charger_external_power_changed() can simply directly use the passed in psy argument which is always valid.",
  "published": "2025-09-15T14:15:38Z",
  "severity": "medium",
  "cvss": 4.7,
  "cvssVector": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H",
  "epss": 0.00112,
  "epssPercentile": 0.01403,
  "priority": "Routine",
  "priorityTier": 4,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.1.37-1",
      "fix": "DEBIAN-CVE-2023-53166",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2023-53166",
      "released": "2025-09-15T14:15:38Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.3.7-1",
      "fix": "DEBIAN-CVE-2023-53166",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2023-53166",
      "released": "2025-09-15T14:15:38Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.3.7-1",
      "fix": "DEBIAN-CVE-2023-53166",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2023-53166",
      "released": "2025-09-15T14:15:38Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T00:53:09Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}