Description
TinyUSB before 0.21.0 contains an integer underflow vulnerability in the HID host report descriptor parser tuh_hid_parse_report_descriptor() in src/class/hid/hid_host.c that allows a malicious USB device to trigger an out-of-bounds read by subtracting an item size from the remaining descriptor length without validating the item fits within the remaining buffer. Attackers can present a crafted USB device with a truncated report descriptor causing the uint16_t desc_len value to underflow, resulting in out-of-bounds memory reads and denial of service on the host system.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| hathach | TinyUSB | < 0.21.0 | 0.21.0 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | tinyusb | No fix yet | — |
| Debian 13 | tinyusb | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | tinyusb | No fix yet | — |
| Ubuntu 26.04 LTS | tinyusb | No fix yet | — |
References
- TinyUSB 0.21.0 Release Notes patch release-notes
- Patch Commit issue-tracking patch
- VulnCheck Advisory: TinyUSB < 0.20.1 Integer Underflow via HID Report Descriptor Parser third-party-advisory
- Researcher Disclosure technical-description exploit