Description
In the Linux kernel, the following vulnerability has been resolved: net: usb: pegasus: enable basic endpoint checking pegasus_probe() fills URBs with hardcoded endpoint pipes without verifying the endpoint descriptors: - usb_rcvbulkpipe(dev, 1) for RX data - usb_sndbulkpipe(dev, 2) for TX data - usb_rcvintpipe(dev, 3) for status interrupts A malformed USB device can present these endpoints with transfer types that differ from what the driver assumes. Add a pegasus_usb_ep enum for endpoint numbers, replacing magic constants throughout. Add usb_check_bulk_endpoints() and usb_check_int_endpoints() calls before any resource allocation to verify endpoint types before use, rejecting devices with mismatched descriptors at probe time, and avoid triggering assertion. Similar fix to - commit 90b7f2961798 ("net: usb: rtl8150: enable basic endpoint checking") - commit 9e7021d2aeae ("net: usb: catc: enable basic endpoint checking")
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before a3e64e950a3981a8199de9798f6d21261b959171
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 229dc9b9db475ac900182bafe258943e0e054c6d
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 26b3ec62fa1a94ac801feca47f040fc729b3c174
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 35854ed5c40b02f95824e44398f9d2ba33727203
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 67ba6b13dbcaf45681fb6758794c5ac5fa589a6c
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before d2e7c898cc02dfe42443489a67a45ed616cb76e9
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 2705709f6574a088aab246af72fc95f2fea51484
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 3d7e6ce34f4fcc7083510c28b17a7c36462a25d4
2.6.12
Any version before 2.6.12
5.10.252 (semver)
5.15.202 (semver)
6.1.165 (semver)
6.6.128 (semver)
6.12.75 (semver)
6.18.16 (semver)
6.19.6 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/a3e64e950a3981a8199de9798f6d21261b959171
git.kernel.org/...c/229dc9b9db475ac900182bafe258943e0e054c6d
git.kernel.org/...c/26b3ec62fa1a94ac801feca47f040fc729b3c174
git.kernel.org/...c/35854ed5c40b02f95824e44398f9d2ba33727203
git.kernel.org/...c/67ba6b13dbcaf45681fb6758794c5ac5fa589a6c
git.kernel.org/...c/d2e7c898cc02dfe42443489a67a45ed616cb76e9
git.kernel.org/...c/2705709f6574a088aab246af72fc95f2fea51484
git.kernel.org/...c/3d7e6ce34f4fcc7083510c28b17a7c36462a25d4