Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Local FunctionFS endpoint access (AV:L/PR:L), a tight free-vs-cancel race (AC:H); impact is a UAF crash so A:H with only incidental memory-integrity effect (I:L) and no disclosure (C:N).
Primary rating from Vendor (Linux).
CVSS VectorVendor: Linux
Lifecycle Timeline
7DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_fs: Fix Use-After-Free in AIO error path
In ffs_epfile_write_iter() and ffs_epfile_read_iter(), when ffs_epfile_io() fails with an error other than -EIOCBQUEUED, the io_data structure (p) is freed. However, for AIO operations, the kiocb cancel function was already armed and kiocb->private was set to p.
If a concurrent cancel operation (such as sys_io_cancel()) executes after ffs_epfile_io() fails but before the function frees p, a Use-After-Free can occur when the cancellation handler accesses the freed pointer.
To securely fix this race condition, we must properly un-arm the cancellation. Invoking kiocb->ki_complete() does exactly this by acquiring ctx->ctx_lock and safely removing the kiocb from the active sequence. In doing so, it ensures that a parallel io_cancel can no longer discover the kiocb, effectively closing the race window.
We then return -EIOCBQUEUED to notify the VFS layer that the kiocb has been consumed and it should avoid attempting to complete the request again or triggering subsequent completion handlers.
AnalysisAI
A use-after-free race condition in the Linux kernel's USB gadget FunctionFS (f_fs) driver can crash a system that is configured in USB peripheral/gadget mode, when a local attacker with access to the FunctionFS endpoint files submits asynchronous AIO reads or writes and concurrently issues cancellation calls against them. The vendor scores this 7.8 (AV:L/AC:L/PR:L/C:H/I:H/A:H), but our independent assessment is more conservative (AV:L/AC:H/PR:L/C:N/I:L/A:H): exploitation requires winning a narrow free-versus-cancel race in the ffs_epfile_io() error path and results in a kernel crash - a denial-of-service - rather than code execution or data disclosure. …
Unlock full vulnerability intelligence
- Risk assessment & exploitation conditions
- Attack chain visualization
- Remediation with exact patch versions
- Threat intelligence from 22 sources
- Personal watchlist & email alerts
Free forever · No credit card required
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata
Vulnerability AssessmentAI
| Exploitation | Requires the Linux system to be running in USB gadget/peripheral mode with a FunctionFS (f_fs) instance mounted and its endpoint files accessible to the attacker, and the attacker must be able to submit AIO (asynchronous io_submit) read/write operations against those endpoints plus concurrent sys_io_cancel() calls. … Additional conditions and limiting factors are described in the full assessment. |
| Risk Assessment | This is a use-after-free race in the Linux kernel USB gadget FunctionFS (f_fs) AIO error path, scored 7.8 HIGH by the vendor with vector AV:L/AC:L/PR:L/C:H/I:H/A:H. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in. |
| Exploit Scenario | Full exploit scenario with step-by-step reproduction available after sign-in. |
| Remediation | Vendor-released patch: update to Linux 6.18.51, 7.2.5 or 7.3-rc1 (or any later stable/mainline release containing the FunctionFS fix commits 153b5ecd29ed055562400bc17c91df3fd869b0ce, 4a2fb2d12b87b43724230abb52a1440617c7b6cc and e78dcb1f7ec271449c54984dc90c62a5ba272de7), as referenced at https://git.kernel.org/stable/c/153b5ecd29ed055562400bc17c91df3fd869b0ce and https://nvd.nist.gov/vuln/detail/CVE-2026-90044. … Detailed patch versions, workarounds, and compensating controls in full report. |
Recommended ActionAI
Within 24 hours, identify all Linux systems configured in USB gadget/peripheral mode and confirm they are affected by CVE-2026-90044. …
Sign in for detailed remediation steps and compensating controls.
Threat intelligence, references, and detailed analysis are available after sign-in.
Same technique Denial Of Service
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-80652
GHSA-xqqx-xhmm-5h73