CVE Catalog

CVE-2026-97482

Unknown
Published: Translated: NVD NIST

Summary

In the USB gadget goku_udc driver, there is a NULL pointer dereference in the log when an INT_USBRESET interrupt occurs. If the controller raises a USB reset before any gadget driver is bound (or after unbinding), dev->driver is NULL and the INFO() call dereferences it, causing a crash.

Risk Assessment

This vulnerability can lead to a kernel panic on devices using this driver if a USB reset happens without an active gadget driver, potentially disrupting the system (DoS).

Recommendation

Update the kernel to a version with the fix that adds a check for dev->driver and falls back to a placeholder in the log message when it is NULL.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: goku_udc: avoid NULL deref of dev->driver in INT_USBRESET log goku_irq() handles a number of bus events under a single ep0 path. It already guards the gadget driver suspend/resume callbacks against a NULL ->driver: if (dev->gadget.speed != USB_SPEED_UNKNOWN && dev->driver && dev->driver->resume) { spin_unlock(&dev->lock); dev->driver->resume(&dev->gadget); ... } but the very next branch unconditionally dereferences dev->driver when an INT_USBRESET arrives: if (stat & INT_USBRESET) { ACK(INT_USBRESET); INFO(dev, "USB reset done, gadget %s\n", dev->driver->driver.name); } If the controller raises INT_USBRESET before any gadget driver has been bound (or after one has been unbound), dev->driver is NULL and the printk dereferences NULL. smatch flags the inconsistency: drivers/usb/gadget/udc/goku_udc.c:1618 goku_irq() error: we previously assumed 'dev->driver' could be null (see line 1607) Fall back to a placeholder when the gadget driver is not bound. No functional change while a gadget driver is bound.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS