CVE-2026-97540 PUBLISHED

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

Assigner: Linux
Reserved: 24.09.2026 Published: 25.09.2026 Updated: 25.09.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 9425a13960ef38bac237608f25c9ee64ff113086 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 7654812b65047349ea4c111eed42c4315a00e462 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 61b84e964a829d534f24eab4cbd4035d22b52601 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to ce8101c331956bbd3e20681331dfd22eb7c1c1ea (excl.)
  • affected from 0 to 6.12.111 (excl.)
  • affected from 0 to 6.18.53 (excl.)
  • affected from 0 to 7.2.7 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • unaffected from 6.12.111 to 6.12.* (incl.)
  • unaffected from 6.18.53 to 6.18.* (incl.)
  • unaffected from 7.2.7 to 7.2.* (incl.)
  • unaffected from 7.3-rc1 to * (incl.)

References