Azure RTOS USBX Host PIMA vulnerable to read integer underflow with buffer overflow
Published Oct 13, 2022
9.8
CRITICALCVSS 3.1
EPSS 0.72%
Description
Azure RTOS USBX is a high-performance USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Azure RTOS ThreadX. The case is, in [_ux_host_class_pima_read](https://github.com/azure-rtos/usbx/blob/master/common/usbx_host_classes/src/ux_host_class_pima_read.c), there is data length from device response, returned in the very first packet, and read by [L165 code](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L165), as header_length. Then in [L178 code](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L178), there is a “if” branch, which check the expression of “(header_length - UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE) > data_length” where if header_length is smaller than UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE, calculation could overflow and then [L182 code](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L182) the calculation of data_length is also overflow, this way the later [while loop start from L192](https://github.com/azure-rtos/usbx/blob/082fd9db09a3669eca3358f10b8837a5c1635c0b/common/usbx_host_classes/src/ux_host_class_pima_read.c#L192) can move data_pointer to unexpected address and cause write buffer overflow. The fix has been included in USBX release [6.1.12](https://github.com/azure-rtos/usbx/releases/tag/v6.1.12_rel). The following can be used as a workaround: Add check of `header_length`: 1. It must be greater than `UX_HOST_CLASS_PIMA_DATA_HEADER_SIZE`. 1. It should be greater or equal to the current returned data length (`transfer_request -> ux_transfer_request_actual_length`).
Affected products
-
- Version < 6.1.12StatusaffectedConstraints-
- Version
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Azure-Rtos | Usbx | n/a |
|
- < 6.1.12
No data.
No Red Hat product state for this CVE.
No package ranges for this CVE.
Remediation
No remediation recorded yet.
Metrics
No CVSS v4.0 score for this CVE.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
1 other source (GitHub) ▾
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:H
No CVSS v3.0 score for this CVE.
No CVSS v2.0 score for this CVE.
This CVE is not in the KEV list.
CISA SSVC (Vulnrichment)
Stakeholder-Specific Vulnerability Categorization from CISA ADP.
Exploitation
NoneAutomatable
YesTechnical Impact
PartialDecision
n/aAssessed Apr 23, 2025 · SSVC 2.0.3
Estimated probability of exploitation in the wild in the next 30 days (FIRST EPSS). As of Oct 2, 2026.
Score over time
2022–2026- EPSS v2
- EPSS v3
- EPSS v4
- EPSS v5
Percentile over time
- EPSS v2
- EPSS v3
- EPSS v4
- EPSS v5
Table of values (20 key points)
Flat stretches are collapsed; showing up to 120 newest points.
| Date | Score | Percentile | Model |
|---|---|---|---|
| Oct 2, 2026 | 0.72% (0.00717) | 52.15th | v5 (v2026.06.15) |
| Jun 15, 2026 | 0.64% (0.00642) | 45.79th | v5 (v2026.06.15) |
| Oct 28, 2025 | 0.41% (0.00415) | 60.92th | v4 (v2025.03.14) |
| Oct 14, 2025 | 3.10% (0.03100) | 86.23th | v4 (v2025.03.14) |
| Mar 17, 2025 | 0.65% (0.00651) | 69.16th | v4 (v2025.03.14) |
| Dec 12, 2024 | 0.34% (0.00335) | 72.09th | v3 (v2023.03.01) |
| May 5, 2024 | 0.29% (0.00288) | 68.71th | v3 (v2023.03.01) |
| Mar 25, 2024 | 0.23% (0.00228) | 60.28th | v3 (v2023.03.01) |
| Nov 15, 2023 | 0.19% (0.00193) | 56.98th | v3 (v2023.03.01) |
| Oct 20, 2023 | 0.17% (0.00171) | 54.03th | v3 (v2023.03.01) |
| Sep 25, 2023 | 0.24% (0.00240) | 61.54th | v3 (v2023.03.01) |
| Sep 13, 2023 | 0.23% (0.00228) | 60.41th | v3 (v2023.03.01) |
| Aug 20, 2023 | 0.29% (0.00291) | 65.08th | v3 (v2023.03.01) |
| Aug 9, 2023 | 0.16% (0.00156) | 51.31th | v3 (v2023.03.01) |
| Jul 17, 2023 | 0.20% (0.00198) | 56.68th | v3 (v2023.03.01) |
| May 22, 2023 | 0.19% (0.00186) | 54.57th | v3 (v2023.03.01) |
| Mar 7, 2023 | 0.15% (0.00155) | 49.99th | v3 (v2023.03.01) |
| Mar 6, 2023 | 2.84% (0.02844) | 83.16th | v2 (v2022.01.01) |
| Oct 19, 2022 | 2.84% (0.02844) | 82.63th | v2 (v2022.01.01) |
| Oct 14, 2022 | 0.89% (0.00885) | 26.55th | v2 (v2022.01.01) |
References (2)
- https://github.com/azure-rtos/usbx/releases/tag/v6.1.12_rel Release NotesThird Party Advisory
- https://github.com/azure-rtos/usbx/security/advisories/GHSA-gg76-h537-xq48 PatchThird Party Advisory
| Link | Providers | Tags |
|---|---|---|
| https://github.com/azure-rtos/usbx/releases/tag/v6.1.12_rel | Release NotesThird Party Advisory | |
| https://github.com/azure-rtos/usbx/security/advisories/GHSA-gg76-h537-xq48 | PatchThird Party Advisory |
Change history (0)
No recorded changes yet.