В ядре Linux устранена следующая уязвимость:
NTB: ntb_transport: отклонять буферы передачи слишком большого размера.
ntb_process_tx() обрабатывает буфер слишком большого размера, вызывая tx_handler().
с указателем данных NULL и возвратом успеха. ntb_netdev поэтому
не освобождает skb при обратном вызове завершения и не ставит его в очередь
путь ошибки, утечка.
Отклонять буферы слишком большого размера в ntb_transport_tx_enqueue() перед получением
запись очереди и возврат -EMSGSIZE. Вызывающий абонент сохраняет право собственности на
буфер, а предыдущий патч netdev освобождает skb при постановке в очередь
возвращает эту постоянную ошибку.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: NTB: ntb_transport: Reject oversized TX buffers ntb_process_tx() handles an oversized buffer by calling tx_handler() with a NULL data pointer and returning success. ntb_netdev therefore neither frees the skb in its completion callback nor takes its enqueue error path, leaking it. Reject oversized buffers in ntb_transport_tx_enqueue() before acquiring a queue entry and return -EMSGSIZE. The caller retains ownership of the buffer, and the preceding netdev patch frees the skb when enqueue returns this permanent error.
Характеристики атаки
Последствия
Строка CVSS v3.1