Read the docs
TI-2026-75898 Aliases CVE-2026-98770GHSA-2cr9-h7x6-p393

Linux kernel USB MIDI 2 gadget jack descriptor arrays undersized

Priority LOW 22Published · Updated

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

EPSS 0.002 9th percentileScored 2026-11-07
Fix Fixed Linux (Linux): 6.6.160, 6.12.113, 6.18.56 +2

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux6.6 and later6.6.160, 6.12.113, 6.18.56, 7.2.10, 7.3Patch availableCNA
  • Linux VendorLinux Affected 6.6 and later Fixed in 6.6.160, 6.12.113, 6.18.56, 7.2.10, 7.3 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*——Linux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions — — ·Linux

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

  1. 2026-10-18 Threatist record created from CVE-2026-98770
  2. 2026-10-18 Alias added: GHSA-2cr9-h7x6-p393
  3. 2026-10-19 Fix available: Linux/[email protected] · CNA
  4. 2026-10-21 Fix available: Linux/Linux@18138d9f19cf6944ff09f5c8c0930545036fe3d0, Linux/[email protected] · CNA
  5. 2026-10-21 1 new reference · CNA
  6. 2026-10-23 Affected versions changed · Red Hat
  7. 2026-10-23 CVSS score added · Red Hat
  8. 2026-11-06 Affected versions changed · Red Hat

References

  • 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
See all 21741 →

Sources