CVE-2026-90020: USB: gadget: fix NULL pointer dereference in gadget_dev_ioctl()

Published Sep 16, 2026
·
Updated

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

USB: gadget: fix NULL pointer dereference in gadgetdevioctl()

gadgetdevioctl() reads dev->gadget before acquiring dev->lock, but dev->state is checked after acquiring the lock. Therefore a concurrent bind can change the device state between these operations, which can leave ioctl with a stale NULL gadget pointer and causing a NULL pointer dereference at gadget->ops->ioctl.

Read dev->gadget while holding dev->lock so that the gadget pointer and device state are sampled consistently.

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 timing is required to trigger this issue?

An ioctl operation must race with a concurrent gadget bind. The bind can change the device state after ioctl reads the gadget pointer but before ioctl checks the state under the device lock, leaving ioctl with a stale NULL pointer.

2

Which Linux systems are relevant?

The issue is relevant to Linux kernel systems using the USB gadget interface, specifically where gadget_dev_ioctl() can run concurrently with gadget binding. The provided data does not identify affected kernel version ranges or configuration defaults.

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