CVE-2026-97540

Summary

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

net: usb: pegasus: don't rely on id table pointer arithmetic

The current code is broken when dynamic ID is involved; in such cases usb_device_id parameter of probe lives on the heap and the pointer arithmetic will get an index that is wildly out of bound. Instead of keeping a side table for additional information, use driver_info field of the usb_device_id.

The dynamic ID parsing code needs to be updated for this; convert it to just write to the reserved entry for dynamic ID and remove the weird loop.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux733260ff9c45bd4db60f45d17e8560a4a68dff4d < 7c940a1100cb0aa18a54dc48d736c0525c0f400caffected
LinuxLinux733260ff9c45bd4db60f45d17e8560a4a68dff4d < 05d47f540d85c8f6697ec5cfc1aa7b4f96a5b31baffected
LinuxLinux733260ff9c45bd4db60f45d17e8560a4a68dff4d < 9425a13960ef38bac237608f25c9ee64ff113086affected
LinuxLinux733260ff9c45bd4db60f45d17e8560a4a68dff4d < 7654812b65047349ea4c111eed42c4315a00e462affected
LinuxLinux733260ff9c45bd4db60f45d17e8560a4a68dff4d < 61b84e964a829d534f24eab4cbd4035d22b52601affected
LinuxLinux733260ff9c45bd4db60f45d17e8560a4a68dff4d < ce8101c331956bbd3e20681331dfd22eb7c1c1eaaffected
LinuxLinux2.6.16affected
LinuxLinux0 < 2.6.16unaffected
LinuxLinux6.1.189 <= 6.1.*unaffected
LinuxLinux6.6.158 <= 6.6.*unaffected
LinuxLinux6.12.111 <= 6.12.*unaffected
LinuxLinux6.18.53 <= 6.18.*unaffected
LinuxLinux7.2.7 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References