CVE-2026-31755: usb: cdns3: gadget: fix NULL pointer dereference in ep_queue

Published May 1, 2026
·
Updated

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

usb: cdns3: gadget: fix NULL pointer dereference in epqueue

When the gadget endpoint is disabled or not yet configured, the ep->desc pointer can be NULL. This leads to a NULL pointer dereference when cdns3gadgetepqueue() is called, causing a kernel crash.

Add a check to return -ESHUTDOWN if ep->desc is NULL, which is the standard return code for unconfigured endpoints.

This prevents potential crashes when epqueue is called on endpoints that are not ready.

Affected Software

14 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel>=5.4<5.15.203
Linux Linux kernel>=5.16<6.1.168
Linux Linux kernel>=6.2<6.6.134
Linux Linux kernel>=6.7<6.12.81
Linux Linux kernel>=6.13<6.18.22
Linux Linux kernel>=6.19<6.19.12
Linux Linux kernel=7.0-rc1
Linux Linux kernel=7.0-rc2
Linux Linux kernel=7.0-rc3
Linux Linux kernel=7.0-rc4
Linux Linux kernel=7.0-rc5
Linux Linux kernel=7.0-rc6
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1
  2. Compensating control

    In the Linux kernel usb: cdns3 gadget __cdns3_gadget_ep_queue() path, check whether ep->desc is NULL and return -ESHUTDOWN for unconfigured or disabled endpoints.

Event History

May 1, 2026
CVE Published
via MITRE·02:14 PM
Data Sourced
via MITRE·02:14 PM
Description
Data Sourced
via NVD·03:16 PM
RemedyDescriptionSeverityWeaknessAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Peer vulnerabilities

Found alongside the following vulnerabilities.

Frequently Asked Questions

1

What conditions are required to trigger the crash?

A local attacker or local process needs the ability to invoke gadget endpoint queueing on a Cadence USB3 gadget endpoint while that endpoint is disabled or has not yet been configured. In that state, the endpoint descriptor can be NULL and the queue operation can crash the kernel.

2

What is the impact of successful exploitation?

Successful triggering causes a kernel crash, resulting in a denial of service. The provided severity vector indicates no confidentiality or integrity impact.

3

How can systems mitigate the issue before applying the fix?

Avoid calling ep_queue on gadget endpoints that are disabled or not configured. Callers should ensure the endpoint is ready before queueing requests and handle an unconfigured endpoint as a shutdown condition.

4

How does the fix change affected behavior?

The fix checks whether ep->desc is NULL before queueing. Instead of dereferencing the NULL pointer, it returns -ESHUTDOWN, the standard error for an unconfigured endpoint.

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