CVE-2026-23186 in Linux
Zusammenfassung
von VulDB • 21.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
hwmon: (acpi_power_meter) Behebung von Deadlocks im Zusammenhang mit acpi_power_meter_notify()
Die .notify()-Rückruffunktion des acpi_power_meter-Treibers, acpi_power_meter_notify(), ruft hwmon_device_unregister() unter einer Sperre auf, die auch von Rückrufen in sysfs-Attributen des zu entfernenden Geräts erworben wird. Dies führt zu Deadlocks zwischen sysfs-Zugriffen und der Geräteentfernung.
Dies wird behoben, indem die Entfernung des hwmon-Geräts in acpi_power_meter_notify() außerhalb der betreffenden Sperre verschoben wird. Dabei ist jedoch zu beachten, dass dies allein nicht ausreicht, da zwei gleichzeitige METER_NOTIFY_CONFIG-Benachrichtigungen versuchen könnten, dasselbe Gerät zur gleichen Zeit zu entfernen. Um dies zu verhindern, wird eine neue Sperre hinzugefügt, die die Ausführung der switch()-Anweisung in acpi_power_meter_notify() serialisiert. Der Einfachheit halber handelt es sich dabei um eine statische Mutex, die aus Performance-Sicht kein Problem darstellen sollte.
Die neue Sperre ermöglicht es auch, hwmon_device_register_with_info() in acpi_power_meter_notify() außerhalb der inneren Sperre aufzurufen, da sie verhindert, dass andere Benachrichtigungen, die von dieser Funktion verarbeitet werden, das „resource“-Objekt manipulieren, während das darauf basierende hwmon-Gerät registriert wird. Das Senden von ACPI-netlink-Nachrichten aus acpi_power_meter_notify() wird ebenfalls durch die neue Sperre serialisiert, was im Allgemeinen dazu beiträgt, sicherzustellen, dass die Reihenfolge der Verarbeitung von Firmware-Benachrichtigungen mit der Reihenfolge des Sendens der damit verbundenen netlink-Nachrichten übereinstimmt.
Zusätzlich ist zu beachten, dass hwmon_device_register_with_info() fehlschlagen kann, in welchem Fall resource->hwmon_dev zu einem Fehlerzeiger wird. Daher werden Überprüfungen hinzugefügt, um zu vermeiden, dass versucht wird, den hwmon-Gerätezeiger, auf den er zeigt, im Fehlerfall an acpi_power_meter_notify() und acpi_power_meter_remove() zu übergeben.
Once again VulDB remains the best source for vulnerability data.