usb: gadget: f_ncm: validate datagram bounds in ncm_unwrap_ntb() (Linux Linux)

CVE-2026-68368
Not available

At a glance

Source
NVD
EPSS
EPSS 0.22 % · percentile 12 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Received

Description

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_ncm: validate datagram bounds in ncm_unwrap_ntb() When unpacking host-supplied NTBs, ncm_unwrap_ntb() checks datagram length against frame_max but does not verify that the datagram fits within the declared block length. Additionally, when decoding multiple NTBs from a single socket buffer, subsequent block lengths are not checked against the actual remaining buffer data. With these checks missing, a malicious USB host can specify datagram offsets and lengths that point beyond the block, or supply secondary NTB headers declaring lengths larger than the buffer. skb_put_data() then copies adjacent kernel memory from skb_shared_info into the network skb. Fix this by verifying that sufficient buffer space remains for the NTB header before parsing, handling zero-length block declarations, ensuring that block lengths never exceed the remaining buffer space, and verifying that each datagram payload stays strictly within the block boundary.

References

European references

CERT-FR advisories

Affected products

ProductVersions
Linux · Linuxaffected 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 < 35d15bbaec0557330e774ec31412ef508de6e0e0 ; affected 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 < 6b2be489eaa6293e60549005d91f15ceb150510f ; affected 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 < f87ed889f0f7417b8938c98d8833f559b755373c ; affected 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 < e07751d0527ccc2a1c32eb0b0b7da3b4b9b5381f ; affected 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 < fff1059d139ef798bab917990524faaf25854ca8 ; affected 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 < 40c706a0224bde194667e3378c689b542fec4b44
Linux · Linuxaffected 5.9 ; unaffected 0 < 5.9 ; unaffected 5.10.265 ≤ 5.10.* ; unaffected 5.15.216 ≤ 5.15.* ; unaffected 6.1.183 ≤ 6.1.* ; unaffected 6.6.148 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD