CVE-2023-54079 in Linuxinformazioni

Riassunto

di VulDB • 22/07/2026

Nel kernel Linux, la seguente vulnerabilità è stata risolta:

power: supply: bq27xxx: Correzione della gestione di poll_interval e delle race condition durante l'operazione di rimozione (remove)

Prima di questa patch, bq27xxx_battery_teardown() impostava poll_interval = 0 per evitare che bq27xxx_battery_update() richiedesse nuovamente l'esecuzione dell'elemento delayed_work.

Ci sono due problemi con questo approccio:

1. Se il driver viene disassociato tramite sysfs, invece di rimuovere il modulo mediante rmmod, ciò modifica inaspettatamente poll_interval. 2. Questa operazione è soggetta a race condition; dopo l'impostazione, poll_interval potrebbe essere modificata prima che bq27xxx_battery_update() la verifichi attraverso /sys/module/bq27xxx_battery/parameters/poll_interval.

Si risolve il problema aggiungendo un attributo "removed" alla struct bq27xxx_device_info e utilizzandolo invece di impostare poll_interval a 0.

Esiste inoltre un'altra race condition relativa a poll_interval durante l'operazione remove(): la scrittura in /sys/module/bq27xxx_battery/parameters/poll_interval richiama nuovamente l'esecuzione dell'elemento delayed_work per tutti i dispositivi presenti nella lista bq27xxx_battery_devices, e il dispositivo che stava venendo rimosso veniva eliminato da tale elenco solo dopo aver annullato l'operazione sull'elemento delayed_work.

Si risolve questo problema spostando la rimozione dalla lista bq27xxx_battery_devices prima dell'annullamento dell'esecuzione dell'elemento delayed_work.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

24/12/2025

Divulgazione

24/12/2025

Moderazione

accettato

CPE

pronto

EPSS

0.00184

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!