Description
In the Linux kernel, the following vulnerability has been resolved:

usb: gadget: f_fs: Fix fence cleanup in ffs_dmabuf_transfer() error paths

The error paths for endpoint-disabled (ESHUTDOWN) and request-allocation
failure (ENOMEM) in ffs_dmabuf_transfer() jump to err_fence_put which
calls dma_fence_put() on the fence. However, at that point the fence has
only been kmalloc'd — dma_fence_init() has not been called yet, so the
refcount and the fence ops are uninitialized. Calling dma_fence_put() on
such an object leads to undefined behavior.

Use kfree() instead, since the fence is just a plain allocation at this
stage, and rename the label to err_fence_free to reflect the actual
cleanup action.
Published: 2026-09-17
Score: 7 High
EPSS: < 1% Very Low
KEV: No
Impact: Undefined behavior that could destabilize the kernel
Action: Apply patch
AI Analysis

Impact

The Linux kernel USB gadget f_fs driver contains a flaw in ffs_dmabuf_transfer() error paths. When an endpoint is disabled or a request allocation fails, the code jumps to err_fence_put which calls dma_fence_put on a DMA fence that has only been allocated with kmalloc and not initialized. This misuse of the fence triggers undefined behavior that could destabilize the kernel.

Affected Systems

All Linux kernel builds that include the USB gadget f_fs driver are affected. The vulnerability exists in any kernel configuration where the f_fs module is compiled in, regardless of distribution or version, until the corresponding kernel patch is applied.

Risk and Exploitability

CVSS score of 7 classifies the issue as moderate severity. EPSS score of <1% indicates a very low probability of exploitation in the wild, and the vulnerability is not listed in CISA’s KEV catalog. The likely attack vector is inferred to involve triggering the error path by causing an endpoint shutdown or memory allocation failure while the f_fs driver is active, which could be achieved through interaction with a malicious USB gadget device or host. However, this inference is not directly stated in the advisory. Exploitation would require the driver to be loaded and would lead to undefined behavior that could destabilize the kernel.

Generated by OpenCVE AI on September 20, 2026 at 00:11 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the Linux kernel patch that fixes the f_fs driver error paths as referenced in the commit history.
  • Reboot the system (or reload the driver) so that the patched kernel code is loaded.
  • If the kernel cannot be updated immediately, disable or unload the USB gadget f_fs driver to prevent the fault route from being exercised.

Generated by OpenCVE AI on September 20, 2026 at 00:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Sun, 20 Sep 2026 00:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-457

Sat, 19 Sep 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-457

Sat, 19 Sep 2026 09:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-457

Fri, 18 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Thu, 17 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Fix fence cleanup in ffs_dmabuf_transfer() error paths The error paths for endpoint-disabled (ESHUTDOWN) and request-allocation failure (ENOMEM) in ffs_dmabuf_transfer() jump to err_fence_put which calls dma_fence_put() on the fence. However, at that point the fence has only been kmalloc'd — dma_fence_init() has not been called yet, so the refcount and the fence ops are uninitialized. Calling dma_fence_put() on such an object leads to undefined behavior. Use kfree() instead, since the fence is just a plain allocation at this stage, and rename the label to err_fence_free to reflect the actual cleanup action.
Title usb: gadget: f_fs: Fix fence cleanup in ffs_dmabuf_transfer() error paths
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-18T17:56:03.061Z

Reserved: 2026-09-17T16:02:15.086Z

Link: CVE-2026-93121

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-17T17:18:06.803

Modified: 2026-09-18T18:18:21.560

Link: CVE-2026-93121

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-20T06:00:13Z

Weaknesses
  • CWE-457

    Use of Uninitialized Variable