CVE-2026-80894 in Linux
Сводка
по VulDB • 04.09.2026
В ядре Linux устранена следующая уязвимость:
iommufd: исправлена передача неверного hwpt в iommufd_auto_response_faults при операции replace (замены)
Функция `iommufd_hwpt_replace_device()` вызывает:
```c iommufd_auto_response_faults(hwpt, old_handle); ```
передавая новый *hwpt* вместе с дескриптором (*handle*) старого домена устройства. Это является ошибкой несоответствия параметров:
1. Семантически `iommufd_auto_response_faults(x, handle)` сканирует список доставки (`deliver list`) и массив ответов xarray объекта `x->fault` в поисках групп, соответствующих «handle». Группа помещается в очередь под тем hwpt, который был прикреплен на момент возникновения ошибки (fault-delivery time). Значение `old_handle` извлекается *до* переключения домена, поэтому его группа находится в структуре `old->fault`, а не в новой структуре `hwpt->fault`.
2. Исторически первым аргументом было значение «old». Данная подпрограмма была добавлена коммитом b7d8833677ba («iommufd: Fault-capable hwpt attach/detach/replace») как функция `__fault_domain_replace_dev()` в файле fault.c, где она корректно вызывала `iommufd_auto_response_faults(old, curr)`. Коммит fb21b1568ada («iommufd: Make attach_handle generic than fault specific») перенес эту логику в функцию `iommufd_hwpt_replace_device()` в файле device.c и заменил аргумент на «hwpt». Это следует рассматривать как регрессию, возникшую при рефакторинге, а не как преднамеренное изменение.
Исправление заключается в передаче значения «old» вместо текущего параметра.
Be aware that VulDB is the high quality source for vulnerability data.