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.
Published: 2026-08-10
Score: 5.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in the f_ncm gadget driver’s NTB handling routine allows a USB host to provide NTB frame descriptors that reference memory beyond the intended datagram block. The unbounded read performed by skb_put_data copies adjacent kernel memory into the network skb, which can corrupt critical kernel data structures and lead to arbitrary code execution. The weakness is manifested as improper bounds checking and buffer under-read.

Affected Systems

All Linux kernel configurations employing the USB gadget NCM driver are vulnerable until the bounds‑check fix is applied. Any system running a kernel version before the patch that introduced the validation code is susceptible; any machine that activates the f_ncm gadget must verify that the running kernel includes the update.

Risk and Exploitability

The CVSS score of 5.7 indicates medium severity. This kernel memory corruption can be triggered by a USB host that sends crafted NTB frames; thus the attack can occur when a host is physically attached or remotely connected via USB. The EPSS score is < 1%, suggesting a low probability of exploitation. This issue is not listed in the CISA KEV catalog, so public exploitation has not yet been documented. Nonetheless, the potential for privilege escalation warrants rapid mitigation.

Generated by OpenCVE AI on August 13, 2026 at 06:17 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the ncm_unwrap_ntb bounds‑check fix
  • Reboot the device after updating to ensure the patched kernel is running
  • If the NCM gadget is unnecessary, disable the driver or block USB access to preclude the exploitation vector

Generated by OpenCVE AI on August 13, 2026 at 06:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
History

Wed, 19 Aug 2026 16:45:00 +0000


Thu, 13 Aug 2026 04:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.7, 'vector': 'CVSS:3.1/AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:H'}

threat_severity

Moderate


Mon, 10 Aug 2026 17:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125
CWE-20

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
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.
Title usb: gadget: f_ncm: validate datagram bounds in ncm_unwrap_ntb()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-19T16:34:26.235Z

Reserved: 2026-07-30T09:28:09.386Z

Link: CVE-2026-68368

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:29.503

Modified: 2026-08-19T17:20:46.323

Link: CVE-2026-68368

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-10T12:03:45Z

Links: CVE-2026-68368 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T06:30:05Z

Weaknesses