CVE-2023-54079 Details
Description
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.
A vulnerability in the Linux kernel's bq27xxx battery driver has been addressed. The issue involved improper handling of the poll interval and race conditions when the driver is removed. Previously, the teardown function set the poll interval to zero to prevent the update function from requeuing a delayed work item. This approach introduced two problems: it unexpectedly altered the poll interval if the driver was unbound via sysfs instead of being removed as a module, and it created a race condition where the poll interval could be modified before the update function checked its value through the sysfs parameter. The vulnerability has been fixed by adding a 'removed' attribute to the device information structure and using it to manage the poll interval more effectively. Additionally, another race condition related to the poll interval was identified during the removal process, where writing to the sysfs parameter would requeue the delayed work for all devices on the battery devices list, potentially causing issues for the device being removed. This has been resolved by adjusting the order of operations during the removal process.
Users can update to the latest version of the Linux kernel where this vulnerability has been fixed.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Dec 24, 2025References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/0c5f4cec759679c290720fbcf6bb81768e21c95b | kernel.org | Source CodeVendor |
| https://git.kernel.org/stable/c/465d919151a1e8d40daf366b868914f59d073211 | kernel.org | Source CodeVendor |
| https://git.kernel.org/stable/c/4c9615474fb0a41cfad658d78db3c9ec70912969 | kernel.org | Source CodeVendor |
| https://git.kernel.org/stable/c/b12faeca0e819ea09051a705fef9df7ea7e9e18c | kernel.org | Source CodeVendor |
| https://git.kernel.org/stable/c/c00bc80462afc7963f449d7f21d896d2f629cacc | kernel.org | Source CodeVendor |
| https://git.kernel.org/stable/c/d952a1eaafcc5f0351caad5dbe9b5b3300d1d529 | kernel.org | Source CodeVendor |
| https://git.kernel.org/stable/c/e85757da9091998276ff21a13915ac25229cc232 | kernel.org | Source CodeVendor |
| https://git.kernel.org/stable/c/e98e5bebfcafc75a7b41192a607dfea5c1268afa | kernel.org | Source CodeVendor |
Weakness Enumeration
No weakness enumeration is available for this CVE.
Affected Products
| Product | Versions |
|---|---|
| Linux kernel | All versions |
CPE
Remediation
| |
| Linux bq27xxx_battery | All versions |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Aug 4, 2026 | CVE Modified | kernel.org |
| Jun 17, 2026 | CVE Modified | kernel.org |
| Dec 24, 2025 | New CVE Received | kernel.org |
Volerion