Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: net: usb: catc: enable basic endpoint checking catc_probe() fills three URBs with hardcoded endpoint pipes without verifying the endpoint descriptors: - usb_sndbulkpipe(usbdev, 1) and usb_rcvbulkpipe(usbdev, 1) for TX/RX - usb_rcvintpipe(usbdev, 2) for interrupt status A malformed USB device can present these endpoints with transfer types that differ from what the driver assumes. Add a catc_usb_ep enum for endpoint numbers, replacing magic constants throughout. Add usb_check_bulk_endpoints() and usb_check_int_endpoints() calls after usb_set_interface() to verify endpoint types before use, rejecting devices with mismatched descriptors at probe time. Similar to - commit 90b7f2961798 ("net: usb: rtl8150: enable basic endpoint checking") which fixed the issue in rtl8150.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before eade522d3e6ac3f3bfb51bfa5b5b4b32bd0b846f; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before ac7739b78ded519e1d9919a814da3b34120bec8c; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 163d04897e57633c5d2e69734e4e4b22bb63f50d; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before a488001a8197da4f9c413eec8f6acbff71c60145; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 36c28b028efba0f42218d41fed12c47ce217c1f1; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 1a42cfced8900d33d032c7ec338484855b61b8cc; affected 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 9e7021d2aeae57c323a6f722ed7915686cdcc123 |
| Linux / Linux | affected 2.6.12; unaffected 0 before 2.6.12; unaffected 5.10.252 through 5.10.*; unaffected 6.1.165 through 6.1.*; unaffected 6.6.128 through 6.6.*; unaffected 6.12.75 through 6.12.*; unaffected 6.18.14 through 6.18.*; unaffected 6.19.4 through 6.19.*; unaffected 7.0 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/eade522d3e6ac3f3bfb51bfa5b5b4b32bd0b846f
- https://git.kernel.org/stable/c/ac7739b78ded519e1d9919a814da3b34120bec8c
- https://git.kernel.org/stable/c/163d04897e57633c5d2e69734e4e4b22bb63f50d
- https://git.kernel.org/stable/c/a488001a8197da4f9c413eec8f6acbff71c60145
- https://git.kernel.org/stable/c/36c28b028efba0f42218d41fed12c47ce217c1f1
- https://git.kernel.org/stable/c/1a42cfced8900d33d032c7ec338484855b61b8cc
- https://git.kernel.org/stable/c/9e7021d2aeae57c323a6f722ed7915686cdcc123