В ядре Linux устранена следующая уязвимость:
Accel/amdxdna: отклонить отправку команды на устройствах без операции отправки
amdxdna_cmd_submit() вызывает xdna->dev_info->ops->cmd_submit()
безусловно, но только aie2_dev_ops определяет этот обратный вызов.
aie4_vf_ops (виртуальная функция AIE4 SR-IOV) нет, поэтому пользователь
AMDXDNA_EXEC_CMD ioctl на устройстве AIE4 достигает нулевого указателя функции
звоню и упс ядро. AIE4 отправляет работу через сопоставленную очередь пользователей.
и дверной звонок, а не этот путь ioctl. Отклоните отправку раньше с помощью -EOPNOTSUPP, если устройство не предоставляет
cmd_submit op, поэтому общий EXEC ioctl на таких устройствах не работает.
Обнаружен с помощью автоматизированного инструмента исследования безопасности 0sec (https://0sec.ai).
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: accel/amdxdna: reject command submission on devices without a submit op amdxdna_cmd_submit() calls xdna->dev_info->ops->cmd_submit() unconditionally, but only aie2_dev_ops defines that callback. aie4_vf_ops (the AIE4 SR-IOV virtual function) does not, so a user AMDXDNA_EXEC_CMD ioctl on an AIE4 device reaches a NULL function-pointer call and oopses the kernel. AIE4 submits work through a mapped user queue and doorbell, not this ioctl path. Reject the submission early with -EOPNOTSUPP when the device provides no cmd_submit op, so the shared EXEC ioctl is a clean no-op on such devices. Found by 0sec automated security-research tooling (https://0sec.ai).