Ad

CVE-2026-89464

NONE EPSS 0.17%
Обновлено 14 сентября 2026
Linux
Параметр Значение
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: мощность: питание: twl4030_charger: отменить рабочие через devm bci выделяется devm. Два работника (bci->work и bci->current_worker) разыменовать его. twl4030_bci_remove() отключает зарядку и маскирует прерывает. Он не отменяет ни одного работника.

Рабочий, ожидающий удаления(), может запустить после того, как devm освободит bci. USB-трансивер поступает из devm_usb_get_phy_by_node(). Девм отменяет регистрацию своего уведомителя только после возврата(). Отмена_work_sync() в методе удаления() можно затем выполнить перепланировку уведомления. devm_work_autocancel() и devm_delayed_work_autocancel() позволяют избежать этого.

Они отменяют работников во время выпуска devm, до освобождения bci. Текущий_воркер регистрируется первым, так как devm отменит работу через обратный порядок, и bci->work может перепланировать current_worker. [Переместить комментарий о заказе в сообщение о фиксации]

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: power: supply: twl4030_charger: cancel workers via devm bci is devm-allocated. Two workers (bci->work and bci->current_worker) dereference it. twl4030_bci_remove() disables charging and masks interrupts. It cancels neither worker. A worker pending at remove() can run after devm frees bci. The USB transceiver comes from devm_usb_get_phy_by_node(). devm unregisters its notifier only after remove() returns. A cancel_work_sync() in remove() can then race a notifier reschedule. devm_work_autocancel() and devm_delayed_work_autocancel() avoid that. They cancel the workers during devm release, before bci is freed. The current_worker is registered first, since devm will cancel in reverse order and bci->work can reschedule current_worker. [Move comment about order into the commit message]