---
id: CVE-2026-90022
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  usb: gadget: f_midi2: fix use-after-free in string attribute show path

  f_midi2_opts_str_show() takes the string lock internally, but its
  callers dereference the opts->…
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  usb: gadget: f_midi2: fix use-after-free in string attribute show path

  f_midi2_opts_str_show() takes the string lock internally, but its
  callers dereference the opts->…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    f9bdf4c4f6410a1dfafafa383a0e21069372657f
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    d11f3300b39e2daad2f0d9d66ddcc39a156cb594
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    e89e30f0b5d3004fe5955250bd8b04f3733e32ce
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    49fab5e1bdb205c36c965d0e9677bc40d282d3a2
  - >-
    Linux >= 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <
    fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b
  - Linux < 6.6.157
  - Linux < 6.12.110
  - Linux < 6.18.51
  - Linux < 7.2.5
  - Linux (all versions)
published: '2026-09-16'
updated: '2026-09-17'
sourceUpdated: '2026-09-17T10:17:05.910'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-90022'
references:
  - url: 'https://git.kernel.org/stable/c/49fab5e1bdb205c36c965d0e9677bc40d282d3a2'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d11f3300b39e2daad2f0d9d66ddcc39a156cb594'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/e89e30f0b5d3004fe5955250bd8b04f3733e32ce'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/f9bdf4c4f6410a1dfafafa383a0e21069372657f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:53.937Z'
epss: 0.0017
epssPercentile: 0.05579
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: f_midi2: fix use-after-free in string attribute show path

f_midi2_opts_str_show() takes the string lock internally, but its
callers dereference the opts->info.<field> pointer before calling it,
outside the lock. This races with f_midi2_opts_str_store(), which
frees the old string under opts->lock when the attribute is written
concurrently, the show path can read a pointer that gets freed
before the lock inside str_show() is even taken.

Change f_midi2_opts_str_show() to take a pointer to the string field,
matching the existing pattern in f_midi2_opts_str_store(), and
dereference it only after the lock is held. Update all three callers
(iface_name, block name, and the EP string option macro) accordingly.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
