Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < eade522d3e6ac3f3bfb51bfa5b5b4b32bd0b846faffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < ac7739b78ded519e1d9919a814da3b34120bec8caffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 163d04897e57633c5d2e69734e4e4b22bb63f50daffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < a488001a8197da4f9c413eec8f6acbff71c60145affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 36c28b028efba0f42218d41fed12c47ce217c1f1affected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 1a42cfced8900d33d032c7ec338484855b61b8ccaffected1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to < 9e7021d2aeae57c323a6f722ed7915686cdcc123affected
Linux Linux
Default version status: affected
2.6.12affected0 to < 2.6.12unaffected5.10.252 to ≤ 5.10.*unaffected6.1.165 to ≤ 6.1.*unaffected6.6.128 to ≤ 6.6.*unaffected6.12.75 to ≤ 6.12.*unaffected6.18.14 to ≤ 6.18.*unaffected6.19.4 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
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 ↗