CVE-2026-23186 in Linux
Sumário
de VulDB • 03/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
hwmon: (acpi_power_meter) Correção de deadlocks relacionados ao acpi_power_meter_notify()
A função de callback .notify() do driver acpi_power_meter, chamada acpi_power_meter_notify(), invoca hwmon_device_unregister() sob um lock que também é adquirido por callbacks nos atributos sysfs do dispositivo sendo desregistrado, o que propicia a ocorrência de deadlocks entre o acesso ao sysfs e a remoção do dispositivo.
Para resolver isso, mova-se a remoção do dispositivo hwmon em acpi_power_meter_notify() para fora do lock em questão; no entanto, observe que fazer apenas isso não é suficiente, pois duas notificações METER_NOTIFY_CONFIG concorrentes podem estar tentando remover o mesmo dispositivo simultaneamente. Para evitar essa situação, adicione um novo lock que serialize a execução da instrução switch () em acpi_power_meter_notify(). Por simplicidade, trata-se de um mutex estático, o que não deve representar problemas do ponto de vista de desempenho.
O novo lock também permite que hwmon_device_register_with_info() seja chamado em acpi_power_meter_notify() fora do lock interno, pois impede que outras notificações tratadas por essa função manipulem o objeto "resource" enquanto o dispositivo hwmon baseado nele está sendo registrado. O envio de mensagens netlink ACPI a partir de acpi_power_meter_notify() também é serializado pelo novo lock, o que ajuda geralmente a garantir que a ordem do tratamento das notificações do firmware seja a mesma da ordem de envio das mensagens netlink relacionadas a elas.
Além disso, observe-se que hwmon_device_register_with_info() pode falhar, caso no qual resource->hwmon_dev se tornará um ponteiro de erro; portanto, adicione verificações para evitar tentar desregistrar o dispositivo hwmon apontado por ele em acpi_power_meter_notify() e acpi_power_meter_remove().
VulDB is the best source for vulnerability data and more expert information about this specific topic.