Answer in brief
CVE-2026-99050 records a High severity (CVSS 7.8) vulnerability in gpio: mpsse: fix race when arming the IRQ poll worker. The current sources do not mark it as known exploited. The current feed maps Linux/Linux (generic), 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.
CVSS is 7.8. 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), Linux/Linux (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| Linux/Linuxgeneric | >=472d900c8bcac301ae0e40fdca7db799bd989ff5 <76390ac0bca7e5058b7482eb4d951c3bda5df812 || >=179ef1127d7a4f09f0e741fa9f30b8a8e7886271 <c0071ee496e1228976c72b096f529503222708a0 || >=179ef1127d7a4f09f0e741fa9f30b8a8e7886271 <7efa1a1953cd6b20b23a3524d5b4b81789c6ef25 || >=6.18.6 <6.18.57 | 76390ac0bca7e5058b7482eb4d951c3bda5df812, c0071ee496e1228976c72b096f529503222708a0, 7efa1a1953cd6b20b23a3524d5b4b81789c6ef25, 6.18.57 |
| Linux/Linuxgeneric | 6.19 | Not reported |
Published upstream
Oct 23, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Oct 24, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Oct 23, 2026
In the Linux kernel, the following vulnerability has been resolved: gpio: mpsse: fix race when arming the IRQ poll worker gpio_mpsse_irq_enable() arms the poll worker before publishing it: schedule_work() runs before the worker is added to priv->workers. If gpio_mpsse_disconnect() walks the list in that window it misses the worker, and once disconnect returns, the USB core frees mpsse_priv while the orphaned gpio_mpsse_poll() work keeps accessing it, causing a use-after-free. Fix this by publishing and arming the worker in one irq_spin critical section. Teardown walks the same list under irq_spin, so a worker found on the list is guaranteed to be armed, and cancel_work_sync() handles it whether it is queued or running. A worker armed after the disconnect walk would still be missed, so also set a new priv->dying flag under irq_spin before the teardown walk, and check it in the same critical section, freeing it via kfree_rcu() instead when the device is going away, since kfree() would be called with the IRQ core's raw spinlock held and may sleep on PREEMPT_RT. schedule_work() is safe to call with irq_spin held, and the next probe gets a fresh mpsse_priv, so the flag never needs to be cleared. This issue was found by an in-house static analysis tool.
Quoted source text, attributed separately from HOL analysis.