Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
0fa81b304a7973a499f844176ca031109487dd31 to < baf246d6680befde2086b1df9eb3aaba3fb6853faffected0fa81b304a7973a499f844176ca031109487dd31 to < 125f932a76a97904ef8a555f1dd53e5d0e288c54affected0fa81b304a7973a499f844176ca031109487dd31 to < af0d1613d6751489dbf9f69aac1123f0b1e566e5affected0fa81b304a7973a499f844176ca031109487dd31 to < a5bd5a2710310c965ea4153cba4210988a3454e2affected0fa81b304a7973a499f844176ca031109487dd31 to < de70da1fb1d152e981ecb3157f7ec2b633005c16affected0fa81b304a7973a499f844176ca031109487dd31 to < 77914255155e68a20aa41175edeecf8121dac391affected8cf7db86a8984ffa3a3388a8df12bc0aa4c79bd7affected4ca8b8855264cf1439cdab3da7049bd1e3c2a9e6affecteda270ca35a9499b58366d696d3290eaa4697a42dbaffected4.14.317 to < 4.15affected4.19.285 to < 4.20affected5.4.245 to < 5.5affected
Linux Linux
Default version status: affected
5.7affected0 to < 5.7unaffected6.1.188 to ≤ 6.1.*unaffected6.6.130 to ≤ 6.6.*unaffected6.12.78 to ≤ 6.12.*unaffected6.18.20 to ≤ 6.18.*unaffected6.19.10 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/baf246d6680befde2086b1df9eb3aaba3fb6853f ↗
- https://git.kernel.org/stable/c/125f932a76a97904ef8a555f1dd53e5d0e288c54 ↗
- https://git.kernel.org/stable/c/af0d1613d6751489dbf9f69aac1123f0b1e566e5 ↗
- https://git.kernel.org/stable/c/a5bd5a2710310c965ea4153cba4210988a3454e2 ↗
- https://git.kernel.org/stable/c/de70da1fb1d152e981ecb3157f7ec2b633005c16 ↗
- https://git.kernel.org/stable/c/77914255155e68a20aa41175edeecf8121dac391 ↗