Home

Description

libusb before version 1.0.30 contains a one-byte out-of-bounds read vulnerability in parse_iad_array() in descriptor.c that allows attackers to trigger a denial of service by supplying a malformed USB descriptor whose bLength equals size minus one, causing the bounds check to use the original buffer size instead of the remaining size. Attackers in virtualized environments with USB passthrough can supply crafted descriptors through libusb_get_active_interface_association_descriptors or libusb_get_interface_association_descriptors to read one byte past the end of the malloc allocation, resulting in a denial of service.

PUBLISHED Reserved 2026-05-18 | Published 2026-05-27 | Updated 2026-05-27 | Assigner VulnCheck




MEDIUM: 5.1CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

MEDIUM: 4.0CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Problem types

Out-of-bounds Read

Product status

Default status
affected

Any version before 1.0.30
affected

Credits

@MarkLee131 finder

References

github.com/libusb/libusb/releases/tag/v1.0.30 release-notes

github.com/libusb/libusb/issues/1813 technical-description

github.com/libusb/libusb/pull/1814 issue-tracking

github.com/...ommit/578ab76b4c434f8b204137ab6d7310689c7a9704 patch

www.vulncheck.com/...b-out-of-bounds-read-in-parse-iad-array third-party-advisory

cve.org (CVE-2026-47104)

nvd.nist.gov (CVE-2026-47104)

Download JSON