Skip to main content

Linux Kernel EUVDEUVD-2026-108845

| CVE-2026-99050 HIGH
2026-10-23 Linux GHSA-77g9-3gmv-7p3q
7.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local access with gpio-mpsse driver privileges
  2. Delivery
    Enable IRQ to arm poll worker
  3. Exploit
    Race USB disconnect against publish window
  4. Execution
    Orphaned worker dereferences freed mpsse_priv
  5. Impact
    Corrupt kernel memory for code execution/escalation

Vulnerability Assessment

Exploitation Conditions

Exploitation requires (1) a physically attached FTDI MPSSE-based USB GPIO adapter bound to the gpio-mpsse driver - this driver is not loaded in typical deployments; (2) local access with sufficient privilege to call gpio_mpsse_irq_enable() (arm an IRQ poll worker) on that chip; and (3) winning the race between schedule_work() arming the worker and gpio_mpsse_disconnect() walking priv->workers, i.e. triggering device disconnect inside that narrow window. Limiting factors: no network vector (AV:L), the specialized hardware dependency, the per-disconnect timing precision the race demands, and the pre-authentication privilege (PR:L) needed to reach the code path all sharply constrain realistic exploitation despite the high CVSS.

Impact

The CVSS base score of 7.8 (HIGH) is driven almost entirely by the impact metrics (C:H/I:H/A:H) that are typical of any kernel use-after-free, not by ease of reach: the supplied vector is AV:L/AC:L/PR:L/UI:N, i.e. local access with some privilege is required, not a network-exploitable flaw. The real-world signals point to low urgency: EPSS is 0.21% (10th percentile), the CVE is not in CISA KEV, and no public exploit is identified - the bug was found by an in-house static analysis tool, not observed in use. Exploitation additionally depends on niche hardware (an FTDI MPSSE-based USB GPIO adapter bound to the gpio-mpsse driver) and on winning a narrow race between arming the poll worker and the disconnect walk. The vuln.today 'this_week' decision label and the available vendor patch reflect normal stable-tree patch hygiene rather than an active-threat emergency. Net assessment: a legitimate kernel correctness bug worth patching in the next maintenance cycle, but a high-CVSS / low-real-risk item for the vast majority of environments, not a drop-everything priority. Note one metadata inconsistency: the tag labels this 'Information Disclosure', yet the description and the C:H/I:H/A:H impact describe a use-after-free with full memory-corruption potential, which exceeds mere disclosure.

Exploit ScenarioDerived

A local user able to exercise the gpio-mpsse driver enables an IRQ on an attached FTDI MPSSE GPIO adapter and then triggers a USB disconnect in the brief window after schedule_work() runs but before the worker is published to priv->workers; the disconnect misses the orphaned worker, the USB core frees mpsse_priv, and the still-running gpio_mpsse_poll() work dereferences the freed structure. No public PoC exists - the issue was identified by an in-house static analysis tool - and the tight timing of the race makes reliable triggering difficult.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 24, 2026

Use-after-free in the Linux kernel's gpio-mpsse driver, reachable only by a local user with the privilege to arm the IRQ poll worker on an attached FTDI MPSSE-based USB GPIO adapter, when a device disconnect lands in the narrow window between schedule_work() and the worker being published to priv->workers. The window lets gpio_mpsse_disconnect() miss the orphaned worker, which then keeps touching mpsse_priv after the USB core frees it; the assessed vector is AV:L/AC:H/PR:L/UI:N with high confidentiality, integrity and availability impact, so the 7.8 base score reflects memory-corruption consequences rather than ease of reach. The driver is not loaded in typical deployments, EPSS is 0.21% (10th percentile), no public exploit has been identified at time of analysis, and vendor stable fixes are listed (6.18.57, 7.2.11, 7.3).

RemediationAI

Vendor-released patch: update to Linux 6.18.57, 7.2.11 or 7.3, which contain the fix commits https://git.kernel.org/stable/c/76390ac0bca7e5058b7482eb4d951c3bda5df812, https://git.kernel.org/stable/c/c0071ee496e1228976c72b096f529503222708a0 and https://git.kernel.org/stable/c/7efa1a1953cd6b20b23a3524d5b4b81789c6ef25; the priority signal places this within this week's patch cycle rather than an emergency. Distributions that backport the fix should confirm the equivalent of the irq_spin publication/dying-flag rework plus the kfree_rcu() conversion on PREEMPT_RT kernels. Where an immediate kernel update is not feasible, the exposure is limited to hosts that load gpio-mpsse: on systems that do not need FTDI MPSSE GPIO adapters, blacklisting or not building that module removes the vulnerable path entirely, at the cost of making such adapters unusable; on hosts that do require it, restricting physical and USB-port access to trusted users narrows the local and hardware preconditions without removing the race itself.

Affected VersionsENISA

Linux 179ef1127d7a4f09f0e741fa9f30b8a8e7886271 <c0071ee496e1228976c72b096f529503222708a0
Linux patch: 7.3
Linux 179ef1127d7a4f09f0e741fa9f30b8a8e7886271 <7efa1a1953cd6b20b23a3524d5b4b81789c6ef25
Linux patch: 0
Linux patch: 7.2.11
Linux 6.19
Linux patch: 6.18.57
Linux 6.18.6 <6.18.57
Linux 472d900c8bcac301ae0e40fdca7db799bd989ff5 <76390ac0bca7e5058b7482eb4d951c3bda5df812

Affected Packages

euvd linux fix: 6.18.57

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

gpio-mpsse is a Linux GPIO driver for FTDI MPSSE-capable USB bridge chips used as GPIO adapters; its IRQ emulation relies on a workqueue poller (gpio_mpsse_poll()) registered in priv->workers and cancelled during gpio_mpsse_disconnect() with cancel_work_sync(). The root cause is an ordering/lifetime bug of the use-after-free class (no CWE identifier was assigned in the source data): gpio_mpsse_irq_enable() called schedule_work() before adding the worker to priv->workers, so a teardown walk of that list could complete without seeing the worker, after which the USB core released mpsse_priv and the still-queued poll callback dereferenced freed memory. The upstream fix publishes and arms the worker inside a single irq_spin (raw spinlock) critical section, matching the teardown walk which takes the same lock, so any worker found on the list is guaranteed armed and cancel_work_sync() covers it whether queued or running. A worker armed after the disconnect walk would still be missed, so a new priv->dying flag is set under irq_spin before the walk and re-checked in the same section, with the structure released via kfree_rcu() instead of kfree() in the going-away path because kfree() can be called with the IRQ core's raw spinlock held and may sleep on PREEMPT_RT; schedule_work() is safe under irq_spin and the next probe allocates a fresh mpsse_priv, so the flag never needs clearing. Exploitation requires physical presence of a bound MPSSE adapter, local privilege to enter the IRQ-enable path, and precise timing of a disconnect inside the race window.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.0 HIGH

Local hardware/driver access only (AV:L); the described disconnect race makes the trigger timing-dependent (AC:H); reaching the IRQ path needs privilege (PR:L); kernel UAF yields full memory impact.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Oct 24, 2026 - 14:22 NVD
7.8 (HIGH)
Patch available
Oct 23, 2026 - 13:17 EUVD
CVE Published
Oct 23, 2026 - 12:22 cve.org
HIGH 7.8
CVE Published
Oct 23, 2026 - 12:22 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

CVE-2026-99050 is a high-severity use-after-free in the Linux kernel's gpio-mpsse driver that, if exploited, could allow local privilege escalation with high impact on confidentiality, integrity, and availability. Only systems with an attached FTDI MPSSE-based USB GPIO adapter and local user access with IRQ arming privilege are exposed, which limits the attack surface but still poses a risk to specialized or embedded environments. Leadership should prioritize patch deployment for affected systems, as the vulnerability enables memory corruption that could be leveraged for lateral movement or data compromise.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
gpio-mpsse is a niche kernel driver needing specific FTDI MPSSE USB hardware
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
High

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy