В ядре Linux устранена следующая уязвимость:
net: usb: cdc_ncm: добавить ndpoffset в проверку границ nframes NDP32
Та же ошибка с проверкой границ, исправленная для NDP16 в предыдущем патче.
существует в cdc_ncm_rx_verify_ndp32(). Размер массива DPE проверен.
относительно общей длины skb без учета ndpoffset, что позволяет
За пределами границ читается, когда NDP32 размещается ближе к концу NTB. Добавьте ndpoffset к проверке границ nframes и используйте struct_size_t() для
более четко выразить размер массива NDP-plus-DPE.
Только проверенные компиляцией.
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: net: usb: cdc_ncm: add ndpoffset to NDP32 nframes bounds check The same bounds-check bug fixed for NDP16 in the previous patch also exists in cdc_ncm_rx_verify_ndp32(). The DPE array size is validated against the total skb length without accounting for ndpoffset, allowing out-of-bounds reads when the NDP32 is placed near the end of the NTB. Add ndpoffset to the nframes bounds check and use struct_size_t() to express the NDP-plus-DPE-array size more clearly. Compile-tested only.