What happened
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 versions
Linux: 0fa81b304a7973a499f844176ca031109487dd31 through before baf246d6680befde2086b1df9eb3aaba3fb6853f (git); 0fa81b304a7973a499f844176ca031109487dd31 through before 125f932a76a97904ef8a555f1dd53e5d0e288c54 (git); 0fa81b304a7973a499f844176ca031109487dd31 through before af0d1613d6751489dbf9f69aac1123f0b1e566e5 (git); 0fa81b304a7973a499f844176ca031109487dd31 through before a5bd5a2710310c965ea4153cba4210988a3454e2 (git); 0fa81b304a7973a499f844176ca031109487dd31 through before de70da1fb1d152e981ecb3157f7ec2b633005c16 (git); 0fa81b304a7973a499f844176ca031109487dd31 through before 77914255155e68a20aa41175edeecf8121dac391 (git); 8cf7db86a8984ffa3a3388a8df12bc0aa4c79bd7 (git); 4ca8b8855264cf1439cdab3da7049bd1e3c2a9e6 (git); a270ca35a9499b58366d696d3290eaa4697a42db (git); 4.14.317 through before 4.15 (semver); 4.19.285 through before 4.20 (semver); 5.4.245 through before 5.5 (semver); 5.7 Fixed: See vendor advisory.
Why it matters
Review the vendor advisory and exposure of the affected product to determine operational impact.
Detection & mitigation
- Apply vendor-provided updates or mitigations.
- Review affected product exposure and access logs.
Public PoC references
No public PoC reference has passed the current publication threshold.