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.
Product status
0fa81b304a7973a499f844176ca031109487dd31 (git) before 125f932a76a97904ef8a555f1dd53e5d0e288c54
0fa81b304a7973a499f844176ca031109487dd31 (git) before af0d1613d6751489dbf9f69aac1123f0b1e566e5
0fa81b304a7973a499f844176ca031109487dd31 (git) before a5bd5a2710310c965ea4153cba4210988a3454e2
0fa81b304a7973a499f844176ca031109487dd31 (git) before de70da1fb1d152e981ecb3157f7ec2b633005c16
0fa81b304a7973a499f844176ca031109487dd31 (git) before 77914255155e68a20aa41175edeecf8121dac391
8cf7db86a8984ffa3a3388a8df12bc0aa4c79bd7 (git)
4ca8b8855264cf1439cdab3da7049bd1e3c2a9e6 (git)
a270ca35a9499b58366d696d3290eaa4697a42db (git)
4.14.317 (semver) before 4.15
4.19.285 (semver) before 4.20
5.4.245 (semver) before 5.5
5.7
Any version before 5.7
6.6.130 (semver)
6.12.78 (semver)
6.18.20 (semver)
6.19.10 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/125f932a76a97904ef8a555f1dd53e5d0e288c54
git.kernel.org/...c/af0d1613d6751489dbf9f69aac1123f0b1e566e5
git.kernel.org/...c/a5bd5a2710310c965ea4153cba4210988a3454e2
git.kernel.org/...c/de70da1fb1d152e981ecb3157f7ec2b633005c16
git.kernel.org/...c/77914255155e68a20aa41175edeecf8121dac391