ThreadX USBX
CVE-2025-55099
LOW
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttach crafted malicious USB device
-
ExploitHost enumerates audio-class descriptor
-
ExecutionTrigger OOB read via frequency fields
-
ImpactCorrupt alternate-setting location logic
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires physical access to connect a malicious USB device to a host running the ThreadX USBX stack with the USB host AUDIO class driver active, so that enumeration invokes _ux_host_class_audio_alternate_setting_locate() to parse the device's audio descriptor. The attacker must supply a descriptor containing crafted/attacker-controlled frequency fields that drive the read past buffer bounds. Limiting factors: physical USB connection is mandatory (AV:P) - no network or remote reach; the target must implement and run the USBX host audio class parsing path; and impact is confined to a low integrity effect (VI:L) with no confidentiality or availability impact scored, so realistic consequence is disrupted/incorrect descriptor processing rather than data theft or persistent compromise. |
| Impact | All signals converge on LOW real-world priority. The vendor CVSS 4.0 base score is 2.4 (Low), driven by AV:P (physical attack vector), meaning exploitation requires physically attaching a malicious USB device to the host running ThreadX USBX - this alone sharply limits scalability and remote mass-exploitation. Impact is minimal: VC:N / VI:L / VA:N (only a low integrity effect; notably no confidentiality impact is scored despite this being a CWE-125 out-of-bounds READ, which is slightly counterintuitive and worth noting - an over-read would typically map to confidentiality or availability, so the vendor appears to judge that the mis-read data influences the alternate-setting-location logic rather than leaking data to the attacker). EPSS is 0.38% (30th percentile), consistent with low expected exploitation. A public exploit/advisory exists (GHSA-93mv-fcpr-9488, flagged as exploit), but the CVE is NOT in CISA KEV, so POC availability must not be conflated with active exploitation. Net: a genuine bug worth patching in affected embedded builds, but not an urgent, widely-weaponizable threat - the physical-access requirement and low impact dominate the high-profile 'buffer overflow / information disclosure' tagging. |
| Exploit ScenarioDerived | An attacker with physical access crafts a malicious USB device that presents an audio-class descriptor with manipulated frequency fields and plugs it into a target device running the ThreadX USBX host stack. During enumeration, the host audio class driver calls _ux_host_class_audio_alternate_setting_locate() and reads past the descriptor buffer, producing an out-of-bounds read. Public exploit/advisory material exists (GHSA-93mv-fcpr-9488), lowering the effort to reproduce, though no active exploitation is confirmed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 09, 2026
An out-of-bounds read in Eclipse ThreadX USBX before 6.4.3 allows an attacker with physical access to a USB host port to drive the host audio class descriptor parser past its buffer bounds by plugging in a crafted USB device. The flaw is in _ux_host_class_audio_alternate_setting_locate(), which indexes frequency fields taken from an attacker-controlled descriptor, and publicly available exploit code exists for it. Real-world priority is low: EPSS is 0.38% (30th percentile), the CVSS 4.0 base score is 2.4 with an attack vector of physical (AV:P), the CVSS vector shows PR:N (no privileges required once the device is connected), and the assessed impact is limited to a low integrity effect with no scored confidentiality or availability loss.
RemediationAI
Upgrade to Eclipse ThreadX USBX 6.4.3 or later, the version in which this out-of-bounds read is fixed - vendor-released patch: 6.4.3; the advisory at https://github.com/eclipse-threadx/usbx/security/advisories/GHSA-93mv-fcpr-9488 should be consulted for the exact diff and integration guidance, and because USBX is normally linked into firmware, end users must obtain a rebuilt image from their device vendor rather than patching the library in place. If upgrading is not immediately possible, the most effective compensating control is to compile out the USB host audio class support (do not define UX_HOST_CLASS_AUDIO in ux_user.h and rebuild), which removes the vulnerable _ux_host_class_audio_alternate_setting_locate() code path entirely, with the trade-off that any legitimate USB audio functionality on the device is lost. Additional hardening with a lower fidelity trade-off is to limit physical exposure: disable or internally terminate unused USB host ports, restrict physical access to the device's USB interfaces in physically exposed deployments, and enforce an authorized-device/interface allowlist in firmware before enumeration so that unsanctioned audio-class devices are rejected. None of these controls substitute for the 6.4.3 upgrade; note that the EPSS score of 0.38% and the mandatory physical access requirement keep urgency low, but publicly available exploit code means the proof-of-concept is readily adaptable by anyone who already has hands-on the hardware.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
USBX is the USB host/device class stack shipped with Eclipse Foundation ThreadX (formerly Azure RTOS), a real-time operating system widely used in embedded and IoT firmware. The vulnerable routine, _ux_host_class_audio_alternate_setting_locate(), executes during USB enumeration when the host AUDIO class driver inspects alternate-setting descriptors of a newly attached USB audio device; these descriptors carry sample-rate/frequency fields that are supplied entirely by the peripheral and are therefore attacker-controlled. Because the parsed frequency values are used without sufficient bounds validation, a descriptor advertising crafted frequency data causes the parser to read memory beyond the end of the descriptor buffer, which is the classic CWE-125 out-of-bounds read pattern. Exploitation requires the target to run USBX in USB host mode with the audio class support compiled in and active, so that the malicious device is enumerated and this code path is reached; the CPE record cpe:2.3:o:eclipse:threadx_usbx:*:*:*:*:*:*:*:* reflects that all USBX releases prior to 6.4.3 are in scope. Consistent with the assessed CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N vector, the practical consequence is erroneous or disrupted descriptor processing rather than remote compromise, data exfiltration, or denial of service, and the attack cannot be delivered over a network.
Know when Threadx Usbx gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:P/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Exploitation needs a physically attached malicious USB device (AV:P), parsing is automatic with no auth or interaction (AC:L/PR:N/UI:N), and the out-of-bounds read yields only a low integrity effect, matching the vendor's VI:L.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
DescriptionCVE.org
In USBX before 6.4.3, the USB support module for Eclipse Foundation ThreadX, there was a potential out of bound read issue in _ux_host_class_audio_alternate_setting_locate() when parsing a descriptor with attacker-controlled frequency fields.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Affected Products (CPE)CVE.org
More in Threadx Usbx
View allAzure RTOS USBx is a USB host, device, and on-the-go (OTG) embedded stack, fully integrated with Azure RTOS ThreadX and
Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Azure RTOS Thre
Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Azure RTOS Thre
Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Azure RTOS Thre
Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Azure RTOS Thre
Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Azure RTOS Thre
Azure RTOS USBX is a high-performance USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated wit
Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack. Rated critical severity (CVSS 9.8), this vuln
Azure RTOS USBX is a USB host, device, and on-the-go (OTG) embedded stack. Rated critical severity (CVSS 9.8), this vuln
Out-of-bounds read in Eclipse ThreadX USBX before 6.4.3 allows an attacker with physical access to a target device to le
An out-of-bounds read in Eclipse ThreadX USBX before 6.4.3 occurs when a device acting as a USB host enumerates an attac
The function _ux_host_class_storage_media_mount() is responsible for mounting partitions on a USB mass storage device. W
NVD
CVE.org
EPSS
GitHub
Exploit-DB