CVE-2026-23447

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinux0fa81b304a7973a499f844176ca031109487dd31 < 125f932a76a97904ef8a555f1dd53e5d0e288c54affected
LinuxLinux0fa81b304a7973a499f844176ca031109487dd31 < af0d1613d6751489dbf9f69aac1123f0b1e566e5affected
LinuxLinux0fa81b304a7973a499f844176ca031109487dd31 < a5bd5a2710310c965ea4153cba4210988a3454e2affected
LinuxLinux0fa81b304a7973a499f844176ca031109487dd31 < de70da1fb1d152e981ecb3157f7ec2b633005c16affected
LinuxLinux0fa81b304a7973a499f844176ca031109487dd31 < 77914255155e68a20aa41175edeecf8121dac391affected
LinuxLinux8cf7db86a8984ffa3a3388a8df12bc0aa4c79bd7affected
LinuxLinux4ca8b8855264cf1439cdab3da7049bd1e3c2a9e6affected
LinuxLinuxa270ca35a9499b58366d696d3290eaa4697a42dbaffected
LinuxLinux4.14.317 < 4.15affected
LinuxLinux4.19.285 < 4.20affected
LinuxLinux5.4.245 < 5.5affected
LinuxLinux5.7affected
LinuxLinux0 < 5.7unaffected
LinuxLinux6.6.130 <= 6.6.*unaffected
LinuxLinux6.12.78 <= 6.12.*unaffected
LinuxLinux6.18.20 <= 6.18.*unaffected
LinuxLinux6.19.10 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References