CVE-2026-90045: USB: gadget: ffs: fix mm lifetime handling

Published Sep 16, 2026
·
Updated

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

USB: gadget: ffs: fix mm lifetime handling

iodata stores a pointer to the submitting task's mmstruct, but does not currently hold a reference to it while async requests are pending.

This can result in a use-after-free if the task exits before completion handling finishes.

Take a reference with mmgrab() when queuing the read request and release it with mmdrop() on request completion.

Affected Software

1 affected component
Linux Kernel

Event History

Sep 16, 2026
CVE Published
via MITRE·10:33 AM
Data Sourced
via MITRE·10:33 AM
Description

Frequently Asked Questions

1

What conditions are required to trigger the use-after-free?

An asynchronous FunctionFS read request must be pending, and the task that submitted the request must exit before request-completion handling finishes. The vulnerable path occurs because the pending request retains a pointer to the submitting task's mm_struct without holding a reference.

2

Which systems are exposed?

Systems using the Linux kernel's USB gadget FunctionFS (ffs) functionality are relevant. The provided information does not identify affected kernel versions, distributions, or whether FunctionFS is enabled or used by default.

3

What can be done if the fix cannot be deployed immediately?

The provided data does not specify a workaround. Exposure is tied to asynchronous FunctionFS read requests and submitting tasks exiting before completion, so environments not using that functionality are not described as reaching the vulnerable condition.

4

How does the fix prevent the issue?

The fix takes an mm_struct reference with mmgrab() when the read request is queued and releases it with mmdrop() when the request completes. This keeps the submitting task's memory-management structure alive until completion handling is finished.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203