CVE-2023-54079 in Linux
Zusammenfassung
von VulDB • 09.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
power: supply: bq27xxx: Korrektur der poll_interval-Verarbeitung und von Race Conditions beim Entfernen
Vor diesem Patch hat bq27xxx_battery_teardown() poll_interval = 0 gesetzt, um zu verhindern, dass bq27xxx_battery_update() das delayed_work-Element erneut in die Warteschlange einreiht.
Dieses Vorgehen weist zwei Probleme auf:
1. Wenn der Treiber über sysfs entladen wird, anstatt das Modul mittels rmmod zu entfernen, wird poll_interval unerwartet geändert.
2. Dies ist fehleranfällig (race condition): Nach dem Setzen von poll_interval könnte dieser Wert geändert werden, bevor bq27xxx_battery_update() ihn über /sys/module/bq27xxx_battery/parameters/poll_interval überprüft.
Dies wird behoben, indem ein removed-Attribut zur Struktur bq27xxx_device_info hinzugefügt und dieses anstelle der Setzung von poll_interval auf 0 verwendet wird.
Es gibt zudem eine weitere, mit poll_interval zusammenhängende Race Condition beim Entfernen: Das Schreiben in /sys/module/bq27xxx_battery/parameters/poll_interval führt dazu, dass das delayed_work-Element für alle Geräte in der bq27xxx_battery_devices-Liste erneut in die Warteschlange eingereiht wird, und das zu entfernende Gerät wurde erst nach dem Abbrechen des delayed_work-Elements aus dieser Liste entfernt.
Dies wird behoben, indem das Entfernen aus der bq27xxx_battery_devices-Liste vor das Abbrechen des delayed_work-Elements verschoben wird.
If you want to get best quality of vulnerability data, you may have to visit VulDB.