CVE-2026-47104
libusb < 1.0.30 Out-of-Bounds Read in parse_iad_array()
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.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.1
libusb < 1.0.30 Out-of-Bounds Read in parse_iad_array()
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.
- Record
CVE-2026-47104- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - CVSS 3.1
- 4.0 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-125
- Updated
- 2026-11-02
EUVDEUVD-2026-32500
5.1
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.
- Record
EUVD-2026-32500- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-fh6g-r8pf-wqgw
5.1
libusb before version 1.0.30 contains a one-byte out-of-bounds read vulnerability in...
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.
- Record
GHSA-fh6g-r8pf-wqgw- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 4.0 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-125
- Updated
- 2026-11-02
NVD
5.1
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.
- Record
CVE-2026-47104- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 4.0 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVBELL-CVE-2026-47104
5.5
- Record
BELL-CVE-2026-47104- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSV
5.1
libusb < 1.0.30 Out-of-Bounds Read in parse_iad_array()
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.
- Record
CVE-2026-47104- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-125
- Updated
- 2026-11-02
Show 13 moreShow less
OSVDEBIAN-CVE-2026-47104
5.5
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.
- Record
DEBIAN-CVE-2026-47104- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVJLSEC-2026-666
5.1
libusb before version 1.0.30 contains a one-byte out-of-bounds read vulnerability in...
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.
- Record
JLSEC-2026-666- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVPYSEC-2026-3979
5.5
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.
- Record
PYSEC-2026-3979- CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2026:20075
6.2
Red Hat Security Advisory: Red Hat Hardened Images RPMs bug fix and enhancement update
- Record
RHSA-2026:20075- CVSS 3.1
- 6.2 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-47104
5.1
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.
- Record
UBUNTU-CVE-2026-47104- CVSS 4.0
- 5.1 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - CVSS 3.1
- 5.5 Medium
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H - CVSS 3.1
- 4.0 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVAZL-88409 No score
CVE-2026-47104 affecting package libusb1 1.0.27-4
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.
- Record
AZL-88409- Updated
- 2026-11-05
OSVAZL-89156 No score
CVE-2026-47104 affecting package gpsbabel 1.8.0-4
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.
- Record
AZL-89156- Updated
- 2026-11-05
OSVopenSUSE-SU-2026:21783-1 No score
Security update for libusb-1_0
This update for libusb-1_0 fixes the following issues:
- CVE-2026-23679: NULL pointer dereference in
parse_interface()allows attackers to crash applications by supplying a malformed USB configuration descriptor (bsc#1266664). - CVE-2026-47104: one-byte out-of-bounds read in
parse_iad_array()allows attackers to trigger a denial of service via a malformed USB descriptor (bsc#1266667).
- Record
openSUSE-SU-2026:21783-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23450-1 No score
Security update for libusb-1_0
This update for libusb-1_0 fixes the following issues:
- CVE-2026-23679: NULL pointer dereference in
parse_interface()allows attackers to crash applications by supplying a malformed USB configuration descriptor (bsc#1266664). - CVE-2026-47104: one-byte out-of-bounds read in
parse_iad_array()allows attackers to trigger a denial of service via a malformed USB descriptor (bsc#1266667).
- Record
SUSE-SU-2026:23450-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23501-1 No score
Security update for libusb-1_0
This update for libusb-1_0 fixes the following issues:
- CVE-2026-23679: NULL pointer dereference in
parse_interface()allows attackers to crash applications by supplying a malformed USB configuration descriptor (bsc#1266664). - CVE-2026-47104: one-byte out-of-bounds read in
parse_iad_array()allows attackers to trigger a denial of service via a malformed USB descriptor (bsc#1266667).
- Record
SUSE-SU-2026:23501-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23519-1 No score
Security update for libusb-1_0
This update for libusb-1_0 fixes the following issues:
- CVE-2026-23679: NULL pointer dereference in
parse_interface()allows attackers to crash applications by supplying a malformed USB configuration descriptor (bsc#1266664). - CVE-2026-47104: one-byte out-of-bounds read in
parse_iad_array()allows attackers to trigger a denial of service via a malformed USB descriptor (bsc#1266667).
- Record
SUSE-SU-2026:23519-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23644-1 No score
Security update for libusb-1_0
This update for libusb-1_0 fixes the following issues:
- CVE-2026-23679: NULL pointer dereference in
parse_interface()allows attackers to crash applications by supplying a malformed USB configuration descriptor (bsc#1266664). - CVE-2026-47104: one-byte out-of-bounds read in
parse_iad_array()allows attackers to trigger a denial of service via a malformed USB descriptor (bsc#1266667).
- Record
SUSE-SU-2026:23644-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23660-1 No score
Security update for libusb-1_0
This update for libusb-1_0 fixes the following issues:
- CVE-2026-23679: NULL pointer dereference in
parse_interface()allows attackers to crash applications by supplying a malformed USB configuration descriptor (bsc#1266664). - CVE-2026-47104: one-byte out-of-bounds read in
parse_iad_array()allows attackers to trigger a denial of service via a malformed USB descriptor (bsc#1266667).
- Record
SUSE-SU-2026:23660-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libusb1Azure Linux:3 |
through 1.0.27-4 | None known |
gpsbabelAzure Linux:3 |
through 1.8.0-4 | None known |
libusbAlpaquita:25 |
1.0.28-r0 up to 1.0.28-r1 | 1.0.28-r1 |
libusbAlpaquita:stream |
1.0.26-r0 up to 1.0.30-r0 | 1.0.30-r0 |
libusb-1.0Debian:12 |
All versions, plus listed versions 2:1.0.26-12:1.0.27-12:1.0.27-22:1.0.27~rc1-12:1.0.27~rc1-2 Show 11 moreShow less2:1.0.27~rc1-32:1.0.27~rc1-42:1.0.27~rc1-52:1.0.27~rc2-12:1.0.28-12:1.0.28~rc1-12:1.0.29-12:1.0.29-22:1.0.30-12:1.0.30~rc1-12:1.0.30~rc2-1 |
None known |
libusb-1.0Debian:13 |
All versions, plus listed versions 2:1.0.28-12:1.0.29-12:1.0.29-22:1.0.30-12:1.0.30~rc1-12:1.0.30~rc2-1 |
None known |
libusb-1.0Debian:14 |
before 2:1.0.30-1, plus listed versions 2:1.0.28-12:1.0.29-12:1.0.29-22:1.0.30~rc1-12:1.0.30~rc2-1 |
2:1.0.30-1 |
libusb_jllJulia |
before 1.0.30+0 | 1.0.30+0 |
libusbPyPI |
before 1.0.30, plus listed versions 1.0.22b21.0.22b41.0.22b81.0.22b91.0.23b1 Show 26 moreShow less1.0.23b71.0.24b11.0.24b31.0.261.0.26b21.0.26b31.0.26b41.0.26b51.0.26rc21.0.26rc41.0.271.0.27.post11.0.27.post21.0.27.post31.0.27.post41.0.281.0.28.post11.0.28.post21.0.291.0.29.post11.0.29.post31.0.29.post41.0.29.post61.0.29.post71.0.30rc11.0.30rc2 |
1.0.30 |
libusb1Red Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.0.30-1.hum1 | 0:1.0.30-1.hum1 |
Show 11 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libusb1-develRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.0.30-1.hum1 | 0:1.0.30-1.hum1 |
libusb1-devel-docRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.0.30-1.hum1 | 0:1.0.30-1.hum1 |
libusb1-tests-examplesRed Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.0.30-1.hum1 | 0:1.0.30-1.hum1 |
mingw32-libusb1Red Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.0.30-1.hum1 | 0:1.0.30-1.hum1 |
mingw64-libusb1Red Hat:hummingbird:1 From an advisory covering 2 CVEs |
before 0:1.0.30-1.hum1 | 0:1.0.30-1.hum1 |
libusb-1_0SUSE:Linux Micro 6.0 From an advisory covering 2 CVEs |
before 1.0.27-2.1 | 1.0.27-2.1 |
libusb-1_0SUSE:Linux Micro 6.2 From an advisory covering 2 CVEs |
before 1.0.28-160000.3.1 | 1.0.28-160000.3.1 |
libusb-1_0SUSE:Linux Micro 6.1 From an advisory covering 2 CVEs |
before 1.0.27-slfo.1.1_2.1 | 1.0.27-slfo.1.1_2.1 |
libusb-1_0SUSE:Linux Enterprise Server 16.0 From an advisory covering 2 CVEs |
before 1.0.28-160000.3.1 | 1.0.28-160000.3.1 |
libusb-1_0SUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 2 CVEs |
before 1.0.28-160000.3.1 | 1.0.28-160000.3.1 |
libusb-1_0openSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 1.0.28-160000.3.1 | 1.0.28-160000.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| facts | OSV | |
| affected | ||
| affected, aliases, published, references | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-47104 is a medium vulnerability (CVSS 5.1) in Libusb, published May 27, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.13%, the 2nd percentile. Fixed in libusb 1.0.28-r1.
References
github.com/libusb/libusb/releases/tag/v1.0.30
github.com/libusb/libusb/issues/1813
github.com/libusb/libusb/pull/1814
github.com/libusb/libusb/commit/578ab76b4c434f8b204137ab6d7310689c7a9704
vulncheck.com/advisories/libusb-out-of-bounds-read-in-parse-iad-array
nvd.nist.gov/vuln/detail/CVE-2026-47104
Show 27 moreShow less
github.com/advisories/GHSA-fh6g-r8pf-wqgw
docs.bell-sw.com/security/cves/CVE-2026-47104
github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47104.json
github.com/libusb/libusb
security-tracker.debian.org/tracker/CVE-2026-47104
access.redhat.com/errata/RHSA-2026:20075
images.redhat.com
access.redhat.com/security/cve/CVE-2026-23679
access.redhat.com/security/updates/classification
access.redhat.com/security/cve/CVE-2026-47104
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_20075.json
bugzilla.redhat.com/show_bug.cgi?id=2482102
cve.org/CVERecord?id=CVE-2026-23679
nvd.nist.gov/vuln/detail/CVE-2026-23679
vulncheck.com/advisories/libusb-null-pointer-dereference-in-parse-interface
bugzilla.redhat.com/show_bug.cgi?id=2482070
cve.org/CVERecord?id=CVE-2026-47104
suse.com/support/update/announcement/2026/suse-su-202623450-1
bugzilla.suse.com/1266664
bugzilla.suse.com/1266667
suse.com/security/cve/CVE-2026-23679
suse.com/security/cve/CVE-2026-47104
suse.com/support/update/announcement/2026/suse-su-202623501-1
suse.com/support/update/announcement/2026/suse-su-202623519-1
suse.com/support/update/announcement/2026/suse-su-202623644-1
suse.com/support/update/announcement/2026/suse-su-202623660-1
ubuntu.com/security/CVE-2026-47104