Description
TinyUSB through 0.21.0, fixed in commit e85c2b8, contains an out-of-bounds write vulnerability in the MTP device class helper mtp_container_get_string() in src/class/mtp/mtp.h that allows a malicious USB host to corrupt adjacent memory by supplying a crafted MTP string with an unbounded character count. Attackers can exploit the unchecked memcpy operation copying up to 510 bytes into a fixed-size destination buffer to achieve code execution or cause a denial of service on the TinyUSB MTP device.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| hathach | TinyUSB | ≤ 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
- Patch Commit issue-tracking patch
- VulnCheck Advisory: TinyUSB 0.21.0 Out-of-Bounds Write via mtp_container_get_string() third-party-advisory
- Researcher Disclosure technical-description exploit