CVEvulnerability
CVE-2026-90022
7.8 HIGH
Official page ↗
- Status
- Received
- Published
- 2026-09-16
- Last modified
- 2026-10-19
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- CVSS 3.1 (416baaa9-dc9f-4396-8d5f-8c081fb06d67)
- 7.8 HIGH — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Description
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.
References
- https://git.kernel.org/stable/c/49fab5e1bdb205c36c965d0e9677bc40d282d3a2 git.kernel.org
- https://git.kernel.org/stable/c/d11f3300b39e2daad2f0d9d66ddcc39a156cb594 git.kernel.org
- https://git.kernel.org/stable/c/e89e30f0b5d3004fe5955250bd8b04f3733e32ce git.kernel.org
- https://git.kernel.org/stable/c/f9bdf4c4f6410a1dfafafa383a0e21069372657f git.kernel.org
- https://git.kernel.org/stable/c/fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b git.kernel.org