net: usb: sr9700: include receive overhead in the length check
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: net: usb: sr9700: include receive overhead in the length check The receive fixup subtracts the Ethernet CRC from the reported packet length, but compares that payload length against the whole remaining receive buffer. The following copy starts after the three-byte header, and the cursor advance consumes both that header and the four-byte CRC. Require the payload to fit after SR_RX_OVERHEAD before copying it or advancing to the next packet. The loop already ensures that the remaining buffer is larger than the overhead, so the subtraction is safe. The issue was found by our static-analysis tool.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From c9b37458e95629b1d1171457afdcc1bf1eb7881d · fixed in 92d88c88390fc62444c00a1a22078f838e03891f; From c9b37458e95629b1d1171457afdcc1bf1eb7881d · fixed in baf07d5153d3af8f98e65e2d3566bc0d50c4e3ac; From c9b37458e95629b1d1171457afdcc1bf1eb7881d · fixed in 8488779d9bddbdb33588c9fc2c0657a3da773f61; From c9b37458e95629b1d1171457afdcc1bf1eb7881d · fixed in e1f5b74edccf4c9b671b6bce4435a98746fe5167; From c9b37458e95629b1d1171457afdcc1bf1eb7881d · fixed in 9b59b00890c5dea355b4cc8795ab8eeafc044e48; From c9b37458e95629b1d1171457afdcc1bf1eb7881d · fixed in 6ab6c9d120b30c94579192ef83a581a3dda6d79c; From c9b37458e95629b1d1171457afdcc1bf1eb7881d · fixed in 05b442709bd5256c6c0e11fe56b9a0cb2455c245; From c9b37458e95629b1d1171457afdcc1bf1eb7881d · fixed in c06bde80ae7a7b595732f7cabcb92cf08db9d56a
- Linux Linux
3.12
- KernelLinux
From 3.12.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9
References 8
git.kernel.org
- stable/c/92d88c88390fc62444c00a1a22078f838e03891f
- stable/c/baf07d5153d3af8f98e65e2d3566bc0d50c4e3ac
- stable/c/8488779d9bddbdb33588c9fc2c0657a3da773f61
- stable/c/e1f5b74edccf4c9b671b6bce4435a98746fe5167
- stable/c/9b59b00890c5dea355b4cc8795ab8eeafc044e48
- stable/c/6ab6c9d120b30c94579192ef83a581a3dda6d79c
- stable/c/05b442709bd5256c6c0e11fe56b9a0cb2455c245
- stable/c/c06bde80ae7a7b595732f7cabcb92cf08db9d56a