---
id: CVE-2026-96406
title: >-
  VIDEO class descriptor walk consumes device-controlled wTotalLength as its
  bound
summary: >-
  A VideoStreaming interface reports the size of its whole class-specific
  descriptor block in the `wTotalLength` field of its input header. The USBX
  host recorded that figure and used it as the budget for walking the format,
  frame and fram…
severity: medium
cvss: 4.9
cvssVector: 'CVSS:3.1/AV:P/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H'
cvssSource: cna
cwe:
  - CWE-125
vendor: Eclipse Foundation
product: USBX
affected:
  - USBX <= 6.5.1.202602
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-20T15:28:38.958367Z'
published: '2026-10-20'
updated: '2026-10-20'
sourceUpdated: '2026-10-20T15:28:49.518Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-96406'
references:
  - url: >-
      https://github.com/eclipse-threadx/usbx/security/advisories/GHSA-8qf6-hjvf-g68f
tags:
  - cve.org
ingestedAt: '2026-10-20T14:08:00.577Z'
---

## Overview

A VideoStreaming interface reports the size of its whole class-specific descriptor block in the `wTotalLength` field of its input header. The USBX host recorded that figure and used it as the budget for walking the format, frame and frame-interval descriptors, without holding it against the configuration descriptor actually received.



A device that reports a `wTotalLength` larger than the descriptors it supplies therefore had its own claim believed. Once the real bytes ran out the walk kept going, dereferencing the cursor past the end of the configuration buffer, in the host's context, whenever the application queried format or frame data.

## Affected

- `USBX <= 6.5.1.202602`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
