Skip to main content
Vulnerability Database/CVE-2025-55098

CVE-2025-55098: Eclipse ThreadX USBX Buffer Overflow Flaw

CVE-2025-55098 is a buffer overflow vulnerability in Eclipse ThreadX USBX that causes out of bound reads when parsing USB audio device descriptors. This article covers the technical details, affected versions, and mitigation strategies.

Published:

CVE-2025-55098 Overview

CVE-2025-55098 is an out-of-bounds read vulnerability in Eclipse Foundation ThreadX USBX, the USB support module for the ThreadX real-time operating system. The flaw resides in the _ux_host_class_audio_device_type_get() function, which parses descriptors from attached USB audio devices. A malformed descriptor can cause the parser to read memory outside the intended buffer. The issue affects USBX versions prior to 6.4.3 and is tracked under [CWE-125]. Exploitation requires physical access to attach a crafted USB audio device to the embedded target.

Critical Impact

An attacker with physical access to a device running vulnerable USBX firmware can trigger out-of-bounds memory reads by connecting a malicious USB audio device, potentially leaking limited data or disrupting USB host functionality.

Affected Products

  • Eclipse Foundation ThreadX USBX versions before 6.4.3
  • Embedded systems and IoT devices using ThreadX RTOS with the USBX host audio class driver
  • Firmware images shipping the _ux_host_class_audio_device_type_get() parser

Discovery Timeline

  • 2025-10-17 - CVE-2025-55098 published to NVD
  • 2026-10-09 - Last updated in NVD database

Technical Details for CVE-2025-55098

Vulnerability Analysis

The vulnerability sits in the USB host audio class driver included with ThreadX USBX. When the host enumerates an attached USB audio device, _ux_host_class_audio_device_type_get() walks through the configuration and interface descriptors returned by the device. The function trusts length fields and iterates descriptor structures without fully validating that each read stays within the allocated buffer. A device returning a truncated or malformed descriptor forces the parser to read memory beyond the descriptor buffer boundary. Because USBX runs on resource-constrained embedded targets, adjacent memory may contain sensitive runtime state used by other RTOS threads.

Root Cause

The root cause is insufficient bounds checking during descriptor traversal. The parser advances pointers using length values supplied by the device without verifying the resulting offset against the end of the descriptor buffer. This matches [CWE-125], Out-of-Bounds Read, where control over a length or index field causes a read past the end of a buffer.

Attack Vector

Exploitation requires physical access. An attacker must connect a USB device that advertises the audio class and presents a crafted descriptor to the embedded host. No authentication or user interaction beyond the USB attach event is required. The impact is limited to information disclosure and availability degradation of the USB stack. The parser cannot be reached remotely because the trigger occurs during device enumeration on a physical USB port.

No verified public exploit code is available. Technical details are published in the Eclipse ThreadX USBX GitHub Security Advisory GHSA-4jc2-x5hv-46fq.

Detection Methods for CVE-2025-55098

Indicators of Compromise

  • Unexpected resets, crashes, or watchdog restarts on embedded devices coinciding with USB device insertion events
  • USB audio devices connected to systems that do not normally interact with audio peripherals
  • USBX stack errors or faults logged by the ThreadX kernel after enumeration of a new USB device

Detection Strategies

  • Perform a software bill of materials (SBOM) review to identify firmware images bundling ThreadX USBX versions earlier than 6.4.3
  • Instrument firmware builds with memory sanitizers during QA to catch out-of-bounds reads in _ux_host_class_audio_device_type_get() when fuzzing descriptors
  • Review device logs for abnormal termination of USB host tasks during enumeration

Monitoring Recommendations

  • Monitor physical access to deployed embedded devices and USB ports exposed on field equipment
  • Correlate device uptime anomalies with USB insertion telemetry where available
  • Track vendor advisories from the Eclipse Foundation for additional USBX fixes beyond 6.4.3

How to Mitigate CVE-2025-55098

Immediate Actions Required

  • Upgrade Eclipse ThreadX USBX to version 6.4.3 or later and rebuild affected firmware images
  • Inventory all embedded products and IoT devices that embed ThreadX USBX with the audio host class enabled
  • Restrict physical access to USB ports on fielded devices until patched firmware is deployed

Patch Information

The fix is published in Eclipse ThreadX USBX 6.4.3. Refer to the Eclipse ThreadX USBX Security Advisory GHSA-4jc2-x5hv-46fq for commit details and upgrade guidance.

Workarounds

  • Disable the USB host audio class driver in the USBX build configuration if audio device support is not required
  • Apply physical port blockers or tamper-evident seals on USB connectors of production devices
  • Limit device deployment to environments where untrusted USB peripherals cannot be attached
bash
# Configuration example: exclude the host audio class from the USBX build
# Remove or comment out the audio class registration in your USBX host initialization
# ux_host_stack_class_register(_ux_system_host_class_audio_name, ux_host_class_audio_entry);

# Then rebuild firmware against USBX 6.4.3 or later
git clone https://github.com/eclipse-threadx/usbx.git
cd usbx
git checkout v6.4.3

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.