CVE-2026-45923 PUBLISHED

net: usb: catc: enable basic endpoint checking

Assigner: Linux
Reserved: 13.05.2026 Published: 27.05.2026 Updated: 27.05.2026

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.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to eade522d3e6ac3f3bfb51bfa5b5b4b32bd0b846f (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to ac7739b78ded519e1d9919a814da3b34120bec8c (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 163d04897e57633c5d2e69734e4e4b22bb63f50d (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to a488001a8197da4f9c413eec8f6acbff71c60145 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 36c28b028efba0f42218d41fed12c47ce217c1f1 (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 1a42cfced8900d33d032c7ec338484855b61b8cc (excl.)
  • affected from 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to 9e7021d2aeae57c323a6f722ed7915686cdcc123 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.12 is affected
  • unaffected from 0 to 2.6.12 (excl.)
  • unaffected from 5.10.252 to 5.10.* (incl.)
  • unaffected from 6.1.165 to 6.1.* (incl.)
  • unaffected from 6.6.128 to 6.6.* (incl.)
  • unaffected from 6.12.75 to 6.12.* (incl.)
  • unaffected from 6.18.14 to 6.18.* (incl.)
  • unaffected from 6.19.4 to 6.19.* (incl.)
  • unaffected from 7.0 to * (incl.)

References