CVE-2023-54079

CVE-2023-54079

High · published December 24, 2025

CVSS v3.1
7.8
EPSS
0%
Percentile
5.5
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

power: supply: bq27xxx: Fix poll_interval handling and races on remove

Before this patch bq27xxx_battery_teardown() was setting poll_interval = 0

to avoid bq27xxx_battery_update() requeuing the delayed_work item.

There are 2 problems with this:

1. If the driver is unbound through sysfs, rather then the module being

rmmod-ed, this changes poll_interval unexpectedly

2. This is racy, after it being set poll_interval could be changed

before bq27xxx_battery_update() checks it through

/sys/module/bq27xxx_battery/parameters/poll_interval

Fix this by added a removed attribute to struct bq27xxx_device_info and

using that instead of setting poll_interval to 0.

There also is another poll_interval related race on remove(), writing

/sys/module/bq27xxx_battery/parameters/poll_interval will requeue

the delayed_work item for all devices on the bq27xxx_battery_devices

list and the device being removed was only removed from that list

after cancelling the delayed_work item.

Fix this by moving the removal from the bq27xxx_battery_devices list

to before cancelling the delayed_work item.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00166 · 5.5th percentile
Published
2025-12-24T18:16Z
References (8)
EPSS history
Timeline
  • 24 DEC 13:06Z
    power: supply: bq27xxx: Fix poll_interval handling and races on remove
    cvelistv5