Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 733260ff9c45bd4db60f45d17e8560a4a68dff4d before 7c940a1100cb0aa18a54dc48d736c0525c0f400c; affected 733260ff9c45bd4db60f45d17e8560a4a68dff4d before 05d47f540d85c8f6697ec5cfc1aa7b4f96a5b31b; affected 733260ff9c45bd4db60f45d17e8560a4a68dff4d before 9425a13960ef38bac237608f25c9ee64ff113086; affected 733260ff9c45bd4db60f45d17e8560a4a68dff4d before 7654812b65047349ea4c111eed42c4315a00e462; affected 733260ff9c45bd4db60f45d17e8560a4a68dff4d before 61b84e964a829d534f24eab4cbd4035d22b52601; affected 733260ff9c45bd4db60f45d17e8560a4a68dff4d before ce8101c331956bbd3e20681331dfd22eb7c1c1ea |
| Linux / Linux | affected 2.6.16; unaffected 0 before 2.6.16; unaffected 6.1.189 through 6.1.*; unaffected 6.6.158 through 6.6.*; unaffected 6.12.111 through 6.12.*; unaffected 6.18.53 through 6.18.*; unaffected 7.2.7 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/7c940a1100cb0aa18a54dc48d736c0525c0f400c
- https://git.kernel.org/stable/c/05d47f540d85c8f6697ec5cfc1aa7b4f96a5b31b
- https://git.kernel.org/stable/c/9425a13960ef38bac237608f25c9ee64ff113086
- https://git.kernel.org/stable/c/7654812b65047349ea4c111eed42c4315a00e462
- https://git.kernel.org/stable/c/61b84e964a829d534f24eab4cbd4035d22b52601
- https://git.kernel.org/stable/c/ce8101c331956bbd3e20681331dfd22eb7c1c1ea