CVE-2026-90022

HIGHCVSS 7.8/10

Last modified

CVE-2026-90022 is a high-severity vulnerability rated 7.8/10 on the CVSS scale. 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.

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.

Metrics

Affected Software

Source: CNA advisory (CVE.org). NVD analysis pending.

VendorProductVersions
LinuxLinux>= 29ee7a4dddd5caa18d1cef000f20c6af43f762f1, < f9bdf4c4f6410a1dfafafa383a0e21069372657f; >= 29ee7a4dddd5caa18d1cef000f20c6af43f762f1, < d11f3300b39e2daad2f0d9d66ddcc39a156cb594; >= 29ee7a4dddd5caa18d1cef000f20c6af43f762f1, < e89e30f0b5d3004fe5955250bd8b04f3733e32ce; >= 29ee7a4dddd5caa18d1cef000f20c6af43f762f1, < 49fab5e1bdb205c36c965d0e9677bc40d282d3a2; >= 29ee7a4dddd5caa18d1cef000f20c6af43f762f1, < fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b
LinuxLinux6.6

References

Timeline

Published
Last Modified
Status
Received

Frequently Asked Questions

What is CVE-2026-90022?
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.
How severe is CVE-2026-90022?
CVE-2026-90022 has a CVSS score of 7.8/10 (HIGH severity).
How do I fix CVE-2026-90022?
Check the vendor references and advisories linked above for patched versions and mitigation guidance. You can also run a Strix scan to test if your systems are affected.

How Strix Helps

Related CVEs from 2026

Are you affected by CVE-2026-90022?

Run a free Strix scan to check your systems for this vulnerability.

Scan your code now

Source: NVD / NIST