Answer in brief
CVE-2026-90022 records a Unknown severity vulnerability in usb: gadget: f_midi2: fix use-after-free in string attribute show path. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
A CVSS score is not reported in the current record. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <f9bdf4c4f6410a1dfafafa383a0e21069372657f || >=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <d11f3300b39e2daad2f0d9d66ddcc39a156cb594 || >=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <e89e30f0b5d3004fe5955250bd8b04f3733e32ce || >=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <49fab5e1bdb205c36c965d0e9677bc40d282d3a2 || >=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b || >=0 <6.6.157 || >=0 <6.12.110 || >=0 <6.18.51 || >=0 <7.2.5 | f9bdf4c4f6410a1dfafafa383a0e21069372657f, d11f3300b39e2daad2f0d9d66ddcc39a156cb594, e89e30f0b5d3004fe5955250bd8b04f3733e32ce, 49fab5e1bdb205c36c965d0e9677bc40d282d3a2, fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b, 6.6.157, 6.12.110, 6.18.51, 7.2.5 |
Published upstream
Sep 16, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Sep 16, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Sep 16, 2026
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.
Quoted source text, attributed separately from HOL analysis.