CVE-2026-68368: usb: gadget: f_ncm: validate datagram bounds in ncm_unwrap_ntb()

Greg Kroah-Hartman <[email protected]>
Newsgroups org.kernel.vger.linux-cve-announce
Message-ID <2026081042-CVE-2026-68368-fbac@gregkh>
From: Greg Kroah-Hartman <[email protected]>

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.

The Linux kernel CVE team has assigned CVE-2026-68368 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 5.9 with commit 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 and fixed in 6.6.148 with commit e07751d0527ccc2a1c32eb0b0b7da3b4b9b5381f
	Issue introduced in 5.9 with commit 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 and fixed in 6.12.101 with commit fff1059d139ef798bab917990524faaf25854ca8
	Issue introduced in 5.9 with commit 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 and fixed in 6.18.42 with commit 40c706a0224bde194667e3378c689b542fec4b44
	Issue introduced in 5.9 with commit 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 and fixed in 7.1.6 with commit 41fd5f2fb0027d3773ae949e3247c2e0a2a7fe5c
	Issue introduced in 5.9 with commit 2b74b0a04d3e9f9f08ff026e5663dce88ff94e52 and fixed in 7.2-rc5 with commit 1febec7e47cdcd01f43fb0211094e3010474666e
	Issue introduced in 4.9.235 with commit f7e0611e207d8908c4f2858e244370529a76dbf7
	Issue introduced in 4.14.196 with commit b88ad6e714284b33a47834f5f2a294c2b37c66aa
	Issue introduced in 4.19.143 with commit 471b23586387a32857778c511be60ab31c98dcfd
	Issue introduced in 5.4.62 with commit 4f529c4d1e436230d3af7c09a3239677a14d2b46
	Issue introduced in 5.8.6 with commit ae6a5394d9fbe118bc95cfe376d6a9d91d7547e8
	Issue introduced in 4.14.328 with commit 5bdf93a2f5459f944b416b188178ca4a92fd206f
	Issue introduced in 4.19.297 with commit ff3ba016263ee93a1c6209bf5ab1599de7ab1512
	Issue introduced in 5.4.259 with commit e7ca00f35d8a17af1ae19d529193ebc21bfda164

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-68368
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/usb/gadget/function/f_ncm.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/e07751d0527ccc2a1c32eb0b0b7da3b4b9b5381f
	https://git.kernel.org/stable/c/fff1059d139ef798bab917990524faaf25854ca8
	https://git.kernel.org/stable/c/40c706a0224bde194667e3378c689b542fec4b44
	https://git.kernel.org/stable/c/41fd5f2fb0027d3773ae949e3247c2e0a2a7fe5c
	https://git.kernel.org/stable/c/1febec7e47cdcd01f43fb0211094e3010474666e
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.