CVE-2026-97482
Description
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.
How to fix
- Linux Linuxd7b33afbf9b54b61cb423af9663df54eae11d3b1, ea2901a4a90afc662e4d023542d91f10ab10fd3c, 999ff3bf665f2abfb6af519ef3d6d42b061d3c15, a018d4195114ca2cf79858cc45c98581dee4795b, 10d7fc3008d5b7ec03af8e08927f1d090014c2af, 28d78783a871cdb7a637dcb72452ff7d303430ae, 5bf5e3fba9bc7dfd69701521dbe9809f8ccbdb02 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < d7b33afbf9b54b61cb423af9663df54eae11d3b1, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < ea2901a4a90afc662e4d023542d91f10ab10fd3c, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 999ff3bf665f2abfb6af519ef3d6d42b061d3c15, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < a018d4195114ca2cf79858cc45c98581dee4795b, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 10d7fc3008d5b7ec03af8e08927f1d090014c2af, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 28d78783a871cdb7a637dcb72452ff7d303430ae, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 ≤ v < 5bf5e3fba9bc7dfd69701521dbe9809f8ccbdb02, 2.6.12 | d7b33afbf9b54b61cb423af9663df54eae11d3b1, ea2901a4a90afc662e4d023542d91f10ab10fd3c, 999ff3bf665f2abfb6af519ef3d6d42b061d3c15, a018d4195114ca2cf79858cc45c98581dee4795b, 10d7fc3008d5b7ec03af8e08927f1d090014c2af, 28d78783a871cdb7a637dcb72452ff7d303430ae, 5bf5e3fba9bc7dfd69701521dbe9809f8ccbdb02 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.