CVE-2026-43156
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")
CVSS Details
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Threat Intelligence
Affected Products 13
| Vendor | Product | Version | Range |
|---|---|---|---|
| linux | linux_kernel | * | ≥2.6.12.1 – <5.10.252 |
| linux | linux_kernel | * | ≥5.11 – <5.15.202 |
| linux | linux_kernel | * | ≥5.16 – <6.1.165 |
| linux | linux_kernel | * | ≥6.2 – <6.6.128 |
| linux | linux_kernel | * | ≥6.7 – <6.12.75 |
| linux | linux_kernel | * | ≥6.13 – <6.18.16 |
| linux | linux_kernel | * | ≥6.19 – <6.19.6 |
| linux | linux_kernel | 2.6.12 | any |
| linux | linux_kernel | 2.6.12 | any |
| linux | linux_kernel | 2.6.12 | any |
| linux | linux_kernel | 2.6.12 | any |
| linux | linux_kernel | 2.6.12 | any |
| linux | linux_kernel | 7.0 | any |
References 8
- git.kernel.org https://git.kernel.org/stable/c/229dc9b9db475ac900182bafe258943e0e054c6d
- git.kernel.org https://git.kernel.org/stable/c/26b3ec62fa1a94ac801feca47f040fc729b3c174
- git.kernel.org https://git.kernel.org/stable/c/2705709f6574a088aab246af72fc95f2fea51484
- git.kernel.org https://git.kernel.org/stable/c/35854ed5c40b02f95824e44398f9d2ba33727203
- git.kernel.org https://git.kernel.org/stable/c/3d7e6ce34f4fcc7083510c28b17a7c36462a25d4
- git.kernel.org https://git.kernel.org/stable/c/67ba6b13dbcaf45681fb6758794c5ac5fa589a6c
- git.kernel.org https://git.kernel.org/stable/c/a3e64e950a3981a8199de9798f6d21261b959171
- git.kernel.org https://git.kernel.org/stable/c/d2e7c898cc02dfe42443489a67a45ed616cb76e9
Remediation
- git.kernel.org https://git.kernel.org/stable/c/229dc9b9db475ac900182bafe258943e0e054c6d
- git.kernel.org https://git.kernel.org/stable/c/26b3ec62fa1a94ac801feca47f040fc729b3c174
- git.kernel.org https://git.kernel.org/stable/c/2705709f6574a088aab246af72fc95f2fea51484
- git.kernel.org https://git.kernel.org/stable/c/35854ed5c40b02f95824e44398f9d2ba33727203
- git.kernel.org https://git.kernel.org/stable/c/3d7e6ce34f4fcc7083510c28b17a7c36462a25d4
- git.kernel.org https://git.kernel.org/stable/c/67ba6b13dbcaf45681fb6758794c5ac5fa589a6c
- git.kernel.org https://git.kernel.org/stable/c/a3e64e950a3981a8199de9798f6d21261b959171
- git.kernel.org https://git.kernel.org/stable/c/d2e7c898cc02dfe42443489a67a45ed616cb76e9