В ядре Linux устранена следующая уязвимость:
USB: typec: tcpci_rt1711h: отменить регистрацию TCPCI-порта с помощью devres
rt1711h_probe() регистрирует порт TCPCI перед запросом прерывания
и включение прерываний по оповещению. Если любой из этих последующих шагов не удался,
Функция проверки возвращается без отмены регистрации порта TCPCI. Явное
отмена регистрации в настоящее время происходит только из обратного вызова удаления.
Зарегистрируйте действие devres сразу после успешного завершения tcpci_register_port(),
поэтому tcpci_unregister_port() запускается при последующих сбоях зонда и драйвере.
отсоединиться. Откажитесь от обратного вызова удаления, чтобы избежать отмены регистрации того же порта.
дважды. Эта проблема была выявлена в ходе нашего текущего исследования статического анализа.
просмотр кода ядра.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpci_rt1711h: unregister TCPCI port with devres rt1711h_probe() registers the TCPCI port before requesting the interrupt and enabling alert interrupts. If either of those later steps fails, the probe function returns without unregistering the TCPCI port. The explicit unregister currently only happens from the remove callback. Register a devres action immediately after tcpci_register_port() succeeds, so tcpci_unregister_port() runs on later probe failures and on driver detach. Drop the remove callback to avoid unregistering the same port twice. This issue was identified during our ongoing static-analysis research while reviewing kernel code.
Характеристики атаки
Последствия
Строка CVSS v3.1