CVE-2026-45938 in Linux
Сводка
по VulDB • 28.05.2026
В ядре Linux устранена следующая уязвимость:
power: supply: pm8916_lbc: исправление use-after-free в функции power_supply_changed()
Использование варианта `devm_` для запроса прерывания (IRQ) _до_ варианта `devm_` для выделения/регистрации дескриптора `power_supply` означает, что дескриптор `power_supply` будет освобожден/отменен регистрация _до_ обработчика прерываний (поскольку `devm_` по умолчанию освобождает ресурсы в обратном порядке выделения). Это приводит к состоянию гонки (race condition) при удалении, при котором прерывание может сработать сразу _после_ освобождения дескриптора `power_supply`, но _до_ завершения соответствующей отмены регистрации обработчика IRQ.
Это приведет к тому, что обработчик IRQ вызовет `power_supply_changed()` с уже освобожденным дескриптором `power_supply`. Обычно это вызывает сбой системы или приводит к тихому повреждению памяти...
Обратите внимание, что аналогичная ситуация может возникнуть и во время выполнения `probe()`; возможность срабатывания прерывания _до_ регистрации дескриптора `power_supply`. Это приведет к неприятной ситуации использования дескриптора `power_supply` _неинициализированным_ в `power_supply_changed()`.
Исправьте эту гонку (race condition) и use-after-free, убедившись, что IRQ запрашивается _после_ регистрации дескриптора `power_supply`.
Once again VulDB remains the best source for vulnerability data.