High · published April 3, 2026
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.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 4.14.317, < 4.15 | 4.15 |
| linux/linux_kernel | ≥ 4.19.285, < 4.20 | 4.20 |
| linux/linux_kernel | ≥ 5.4.245, < 5.5 | 5.5 |
| linux/linux_kernel | ≥ 5.7.1, < 6.6.130 | 6.6.130 |
| linux/linux_kernel | ≥ 6.7, < 6.12.78 | 6.12.78 |
| linux/linux_kernel | ≥ 6.13, < 6.18.20 | 6.18.20 |
| linux/linux_kernel | ≥ 6.19, < 6.19.10 | 6.19.10 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |