Vulnerability · Published May 22, 2024 · Assigned by Linux
CVE-2021-47475comedi: vmk80xx: fix transfer-buffer overflows
High 7.8
In plain English
A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 18% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
In the Linux kernel, the following vulnerability has been resolved: comedi: vmk80xx: fix transfer-buffer overflows The driver uses endpoint-sized USB transfer buffers but up until recently had no sanity checks on the sizes. Commit e1f13c879a7c ("staging: comedi: check validity of wMaxPacketSize of usb endpoints found") inadvertently fixed NULL-pointer dereferences when accessing the transfer buffers in case a malicious device has a zero wMaxPacketSize. Make sure to allocate buffers large enough to handle also the other accesses that are done without a size check (e.g. byte 18 in vmk80xx_cnt_insn_read() for the VMK8061_MODEL) to avoid writing beyond the buffers, for example, when doing descriptor fuzzing. The original driver was for a low-speed device with 8-byte buffers. Support was later added for a device that uses bulk transfers and is presumably a full-speed device with a maximum 64-byte wMaxPacketSize.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | linux | 5.15.3-1 | DEBIAN-CVE-2021-47475 |
| Debian:13 | linux | 5.15.3-1 | DEBIAN-CVE-2021-47475 |
| Debian:14 | linux | 5.15.3-1 | DEBIAN-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-aws-6.2 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-azure-6.2 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | no fix listed | UBUNTU-CVE-2021-47475 |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | no fix listed | UBUNTU-CVE-2021-47475 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | 985cafccbf9b7f862aa1c5ee566801e18b5161fb – before 5229159f1d052821007aff1a1beb7873eacf1a9f985cafccbf9b7f862aa1c5ee566801e18b5161fb – before ec85bcff4ed09260243d8f39faba99e1041718ba985cafccbf9b7f862aa1c5ee566801e18b5161fb – before 40d2a7e278e2e7c0a5fd7e997e7eb63945bf93f7985cafccbf9b7f862aa1c5ee566801e18b5161fb – before 7a2021b896de1ad559d33b5c5cdd20b982242088985cafccbf9b7f862aa1c5ee566801e18b5161fb – before 199acd8c110e3ae62833c24f632b0bb1c9f012a9985cafccbf9b7f862aa1c5ee566801e18b5161fb – before 33d7a470730dfe7c9bfc8da84575cf2cedd60d00985cafccbf9b7f862aa1c5ee566801e18b5161fb – before 278484ae93297b1bb1ce755f9d3b6d95a48c7d47985cafccbf9b7f862aa1c5ee566801e18b5161fb – before 06ac746d57e6d32b062e220415c607b7e2e0fa50 |
| Linux | Linux | 2.6.31 |
References
- https://git.kernel.org/stable/c/5229159f1d052821007aff1a1beb7873eacf1a9f
- https://git.kernel.org/stable/c/ec85bcff4ed09260243d8f39faba99e1041718ba
- https://git.kernel.org/stable/c/40d2a7e278e2e7c0a5fd7e997e7eb63945bf93f7
- https://git.kernel.org/stable/c/7a2021b896de1ad559d33b5c5cdd20b982242088
- https://git.kernel.org/stable/c/199acd8c110e3ae62833c24f632b0bb1c9f012a9
- https://git.kernel.org/stable/c/33d7a470730dfe7c9bfc8da84575cf2cedd60d00
- https://git.kernel.org/stable/c/278484ae93297b1bb1ce755f9d3b6d95a48c7d47
- https://git.kernel.org/stable/c/06ac746d57e6d32b062e220415c607b7e2e0fa50
- https://git.kernel.org/stable/c/a23461c47482fc232ffc9b819539d1f837adf2b1