Linux kernel USB MIDI 2 gadget jack descriptor arrays undersized
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Fixed
No CVSS vector from any source. Fix status from CNA.
Summary
In the Linux kernel's USB MIDI 2 gadget driver, the jack_ins and jack_outs arrays in struct f_midi2_usb_config are sized to MAX_CABLES, but each loop iteration adds one entry for an input and one for an output, so the arrays receive twice the expected number of entries. When many jacks are configured through configfs, this can cause a potential out-of-bounds access, even though the loop count is capped at MAX_CABLES. Red Hat rates the issue Moderate, and CISA does not list it in KEV.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
In the Linux kernel, the following vulnerability has been resolved: usb: gadget: midi2: Fix the jack descriptor array sizes The jack in/out descriptor arrays in struct f_midi2_usb_config have the size of MAX_CABLES, which look reasonable -- but it turned out to be incorrect. Namely, the entries for those arrays are added from both inputs and outputs, hence for each loop cycle, it adds two, ended up with as twice as the expected size. This inconsistency may result in potential OOB when a large number of jacks are set up via configfs, although the max number of cables (the loop count) is limited to MAX_CABLES. For addressing it, correct the jack_ins & jack_outs array sizes to twice, MAX_CABLES * 2.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
Remediation
Install the fixed kernel for your branch: 6.6.160, 6.12.113, 6.18.56, 7.2.10, or 7.3. The fix doubles the jack_ins and jack_outs array sizes to MAX_CABLES * 2.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA Linux (Linux) Fixed in 6.6.160, 6.12.113, 6.18.56, 7.2.10, 7.3
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
Not affected: 7 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
- Red Hat OpenShift Container Platform 4
- Red Hat OpenShift Container Platform 5
Timeline
- 2026-10-18 Threatist record created from CVE-2026-98770
- 2026-10-18 Alias added: GHSA-2cr9-h7x6-p393
- 2026-10-19 Fix available: Linux/[email protected] · CNA
- 2026-10-21 Fix available: Linux/Linux@18138d9f19cf6944ff09f5c8c0930545036fe3d0, Linux/[email protected] · CNA
- 2026-10-21 1 new reference · CNA
- 2026-10-23 Affected versions changed · Red Hat
- 2026-10-23 CVSS score added · Red Hat
- 2026-11-06 Affected versions changed · Red Hat
References
Other 5
- https://git.kernel.org/stable/c/18138d9f19cf6944ff09f5c8c0930545036fe3d0
- https://git.kernel.org/stable/c/8294ff75a9de23f7cc641e5e5ca31fa6ea72a574
- https://git.kernel.org/stable/c/87f2185423e01f113811301878f2f67eccec960d
- https://git.kernel.org/stable/c/223c3bd02a582776d8ee47dae7b69d3258420694
- https://git.kernel.org/stable/c/310c2d4608d8c1a2baa57db1dfd319c5c40cf4a1
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-98770 · CVE Program
- CVE-2026-98770 · NVD
- FIRST EPSS
- GHSA-2cr9-h7x6-p393 · GitHub Advisory Database · CC BY 4.0
- CVE-2026-98770 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences