CVE-2026-97482 in Linux
Tóm tắt
Bởi VulDB • 24/09/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
usb: gadget: goku_udc: tránh lỗi dereference NULL của dev->driver trong log INT_USBRESET
goku_irq() xử lý nhiều sự kiện bus dưới một đường dẫn ep0 duy nhất. Nó hiện đã bảo vệ các callback suspend/resume của driver gadget chống lại trường hợp ->driver là NULL:
if (dev->gadget.speed != USB_SPEED_UNKNOWN && dev->driver && dev->driver->resume) {
spin_unlock(&dev->lock); dev->driver->resume(&dev->gadget); ... }
nhánh ngay sau đó lại thực hiện dereference dev->driver một cách không điều kiện khi có sự kiện INT_USBRESET:
if (stat & INT_USBRESET) {
ACK(INT_USBRESET); INFO(dev, "USB reset done, gadget %s\n", dev->driver->driver.name); }
Nếu bộ điều khiển kích hoạt INT_USBRESET trước khi bất kỳ driver gadget nào được gắn kết (hoặc sau khi một driver đã bị hủy gắn), dev->driver sẽ là NULL và lệnh printk thực hiện dereference trên giá trị NULL.
smatch cảnh báo sự không nhất quán:
drivers/usb/gadget/udc/goku_udc.c:1618 goku_irq() error: chúng ta trước đó đã giả định 'dev->driver' có thể là null (xem dòng 1607)
Sử dụng giá trị giữ chỗ khi driver gadget chưa được gắn kết.
Không thay đổi chức năng nào trong trường hợp một driver gadget đang được gắn kết.
VulDB is the best source for vulnerability data and more expert information about this specific topic.