Vulnerability · Published Oct 28, 2026 · Assigned by Linux

CVE-2026-99215power: supply: core: prevent unregistering a power supply while a callback runs

Unrated

In plain English

A security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 5% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS )–Not rated
Exploit odds (30 days)0.2%top 94.7% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: power: supply: core: prevent unregistering a power supply while a callback runs Once a power supply is registered, its callbacks can immediately start firing from other contexts, such as external_power_changed() triggered by the TCPM stack. If a power supply is unregistered while the callback is still running, the driver data can already be freed when the callback tries to access it, leading to a use-after-free. This happens e.g. when the hardware bus carrying the power supply device malfunctions (e.g. I2C is hogged down by another malfunctioning device) immediately after the power supply is registered, and thus the core is still processing the callbacks which were queued up when the driver starts the removal, leading in some cases to a kernel crash, e.g.: [ 11.645942] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000005 [ 11.646751] Mem abort info: [ 11.647006] ESR = 0x0000000096000004 [ 11.647338] EC = 0x25: DABT (current EL), IL = 32 bits [ 11.647806] SET = 0, FnV = 0 [ 11.648077] EA = 0, S1PTW = 0 [ 11.648356] FSC = 0x04: level 0 translation fault [ 11.648785] Data abort info: [ 11.649041] ISV = 0, ISS = 0x00000004, ISS2 = 0x00000000 [ 11.649524] CM = 0, WnR = 0, TnD = 0, TagAccess = 0 [ 11.649981] GCS = 0, Overlay = 0, DirtyBit = 0 [ 11.650390] [0000000000000005] user address but active_mm is swapper [ 11.650955] Internal error: Oops: 0000000096000004 [#1] SMP [ 11.651460] Modules linked in: [ 11.651742] CPU: 1 UID: 0 PID: 144 Comm: kworker/1:2 Not tainted 7.2.0-rc6-g62a9297af2cd #1 PREEMPT [ 11.652553] Hardware name: Flipper One rev. F0B1C2 (DT) [ 11.653024] Workqueue: events power_supply_changed_work [ 11.653511] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 11.654135] pc : __power_supply_is_supplied_by+0x18/0x100 [ 11.654624] lr : __power_supply_am_i_supplied+0x40/0xb8 [ 11.655098] sp : ffff80008192bb30 [ 11.655399] x29: ffff80008192bb30 x28: 0000000000000000 x27: 0000000000000000 [ 11.656049] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000000 [ 11.656695] x23: ffff0000c19f4200 x22: ffffdb2232ba4ea8 x21: ffff80008192bc28 [ 11.657344] x20: ffff0000c1eef000 x19: ffff80008192bc18 x18: 00000000a0886e62 [ 11.657991] x17: 000000040044ffff x16: 04500072b5503510 x15: 0000000000000000 [ 11.658639] x14: 0000000000000000 x13: 0000000000000220 x12: 0000000000000000 [ 11.659286] x11: 0000000000000000 x10: ffff0000c1fdb2b0 x9 : ffffdb2232ba5590 [ 11.659934] x8 : 00000000e5b906e6 x7 : ffff0000c2502778 x6 : ffffdb22339793d0 [ 11.660581] x5 : ffff80008192bc18 x4 : ffff0000c19cbca0 x3 : 0000000000000000 [ 11.661228] x2 : ffff0000c1fdaf40 x1 : ffffffffffffffed x0 : ffff0000c1eef000 [ 11.661878] Call trace: [ 11.662103] __power_supply_is_supplied_by+0x18/0x100 (P) [ 11.662596] __power_supply_am_i_supplied+0x40/0xb8 [ 11.663040] psy_for_each_psy_cb+0x20/0x40 [ 11.663416] class_for_each_device+0x110/0x150 [ 11.663825] power_supply_am_i_supplied+0x68/0x100 [ 11.664262] bq257xx_external_power_changed+0x58/0x140 [ 11.664733] __power_supply_changed_work+0x60/0x80 [ 11.665170] psy_for_each_psy_cb+0x20/0x40 [ 11.665545] class_for_each_device+0x110/0x150 [ 11.665953] power_supply_changed_work+0x98/0x1b8 [ 11.666382] process_one_work+0x164/0x4c0 [ 11.666758] worker_thread+0x19c/0x320 [ 11.667104] kthread+0x138/0x150 [ 11.667408] ret_from_fork+0x10/0x20 [ 11.667744] Code: d503233f a9bd7bfd 910003fd a90153f3 (f9400c34) [ 11.668294] ---[ end trace 0000000000000000 ]--- Add a read-write semaphore between external_power_changed() and power_supply_unregister() to prevent the latter from returning (and thus the driver from freeing its data) while the callback is still running.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linuxno fix listedDEBIAN-CVE-2026-99215
Debian:13linuxno fix listedDEBIAN-CVE-2026-99215
Debian:14linux7.2.13-1DEBIAN-CVE-2026-99215
Ubuntu:22.04:LTSlinuxno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinuxno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinuxno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.10linux7.3.0-10.10UBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-awsno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-awsno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-awsno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.10linux-aws7.3.0-1004.4UBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-aws-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-aws-7.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.10linux-azureno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-6.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-azure-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-7.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.10linux-azure-fdeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-fde-6.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-azure-fde-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-fde-7.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.10linux-gcp7.3.0-1004.4UBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-gcp-6.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-gcp-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-gcp-7.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-hwe-6.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-hwe-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-hwe-7.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-ibm-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-intel-iotgno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-kvmno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-nvidia-6.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-nvidia-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-nvidia-7.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-nvidia-bosno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-nvidia-lowlatencyno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-nvidia-tegra-igxno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-oem-6.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-oem-7.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.10linux-oracle7.3.0-1004.4UBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-oracle-6.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-oracle-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-oracle-7.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.10linux-raspi7.3.0-1004.4UBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.10linux-realtime7.3.0-10.10.1UBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-99215
Ubuntu:26.10linux-riscv7.3.0-10.10.1UBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-riscv-6.8no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-riscv-7.0no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-vmwareno fix listedUBUNTU-CVE-2026-99215
Ubuntu:24.04:LTSlinux-xilinxno fix listedUBUNTU-CVE-2026-99215
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2026-99215

Affected products (as reported)

VendorProductVersions
Linux Linux bc1540561c9ede1efb6d7bf44804676d3d02a3cc – before 2ac0256a28e15c4888fa394d1fe66cf7b1d58090bc1540561c9ede1efb6d7bf44804676d3d02a3cc – before 45388e50d14bc161873b14b9a05d4b8b8822fca6bc1540561c9ede1efb6d7bf44804676d3d02a3cc – before 5b4bd13e0552926648a46c2c9a12a24dfaee3715
Linux Linux 4.1

References