CVE-2026-90022
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
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->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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < f9bdf4c4f6410a1dfafafa383a0e21069372657f | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < d11f3300b39e2daad2f0d9d66ddcc39a156cb594 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < e89e30f0b5d3004fe5955250bd8b04f3733e32ce | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < 49fab5e1bdb205c36c965d0e9677bc40d282d3a2 | affected |
| Linux | Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 < fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b | affected |
| Linux | Linux | 0 < 6.6.157 | affected |
| Linux | Linux | 0 < 6.12.110 | affected |
| Linux | Linux | 0 < 6.18.51 | affected |
| Linux | Linux | 0 < 7.2.5 | affected |
| Linux | Linux | 6.6.157 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.110 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.51 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.5 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/f9bdf4c4f6410a1dfafafa383a0e21069372657f
- https://git.kernel.org/stable/c/d11f3300b39e2daad2f0d9d66ddcc39a156cb594
- https://git.kernel.org/stable/c/e89e30f0b5d3004fe5955250bd8b04f3733e32ce
- https://git.kernel.org/stable/c/49fab5e1bdb205c36c965d0e9677bc40d282d3a2
- https://git.kernel.org/stable/c/fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.