Skip to main content
VulnerabilityPublished Updated

CVE-2026-90044: Linux kernel · usb: gadget: f_fs: Fix Use-After-Free in AIO error path

Affects Linux kernelSource CVE Database V5

0

Not known to be exploited · CVSS 7.8 High · fixed in e78dcb1f7ec271449c54984dc90c62a5ba272de7 : patch Linux kernel soon.

Data as of 26 Oct 2026, 13:47 UTC

CVSS 3.1 base score
7.8High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.1% chance of exploitation in 30 days – higher than 6% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in e78dcb1f7ec271449c54984dc90c62a5ba272de7, b5f0e80a03e87bd932487e03248eae3ba3ed7b45, 153b5ecd29ed055562400bc17c91df3fd869b0ce +2
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 16 Sep 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ de2080d41b5d584205e408d72021f0f335a046fc, < e78dcb1f7ec271449c54984dc90c62a5ba272de7
Fixed in
  • e78dcb1f7ec271449c54984dc90c62a5ba272de7
LinuxLinuxAffected
  • ≥ de2080d41b5d584205e408d72021f0f335a046fc, < b5f0e80a03e87bd932487e03248eae3ba3ed7b45
Fixed in
  • b5f0e80a03e87bd932487e03248eae3ba3ed7b45
LinuxLinuxAffected
  • ≥ de2080d41b5d584205e408d72021f0f335a046fc, < 153b5ecd29ed055562400bc17c91df3fd869b0ce
Fixed in
  • 153b5ecd29ed055562400bc17c91df3fd869b0ce
LinuxLinuxAffected
  • ≥ de2080d41b5d584205e408d72021f0f335a046fc, < 4a2fb2d12b87b43724230abb52a1440617c7b6cc
Fixed in
  • 4a2fb2d12b87b43724230abb52a1440617c7b6cc
LinuxLinuxAffected
  • ≥ de2080d41b5d584205e408d72021f0f335a046fc, < 0a2f71ccf9c2053de725e9a7922d081f3f3a3804
Fixed in
  • 0a2f71ccf9c2053de725e9a7922d081f3f3a3804
LinuxLinuxAffected
  • =4.0
Fixed in–

Description

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.

References

Community reviews

Loading reviews…