Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: usb: usbtmc: check URB actual_length for interrupt-IN notifications USBTMC devices can use an optional interrupt endpoint for notification messages. These typically contain two-byte headers indicating the payload format, but the driver does not check if these headers are present before accessing the data buffers. In cases where the URB actual_length is not enough to fit these headers, the driver will either cause an out-of-bounds read, or consume stale leftover data from a previous notification. Fix by checking if actual_data contains enough bytes for the headers, otherwise resubmit URB to the interrupt endpoint.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected dbf3e7f654c0f06a932b8fcafac78de9d0b81d68 before e794bd67b3faf98af46f958897f6b91412c7d2a9; affected dbf3e7f654c0f06a932b8fcafac78de9d0b81d68 before e3eec3005de44e7f37d8d7724be636446516ab42; affected dbf3e7f654c0f06a932b8fcafac78de9d0b81d68 before ae87f505917e703ae3b487d9663d78826ff43608; affected dbf3e7f654c0f06a932b8fcafac78de9d0b81d68 before 5de7df75ef3a2756b25fe3d582a4a2970444fe5a; affected dbf3e7f654c0f06a932b8fcafac78de9d0b81d68 before 69020fa089f1bf0e1a10a15265f31b143a846409; affected dbf3e7f654c0f06a932b8fcafac78de9d0b81d68 before 75f6d3da2cc646983f41807ef98851569c12bca9; affected dbf3e7f654c0f06a932b8fcafac78de9d0b81d68 before f141b01eaa58ac7e323931d670318aa247bff087; affected dbf3e7f654c0f06a932b8fcafac78de9d0b81d68 before 52f2ad3f7e5eb3b5908e1d685d4342519dc9cfcd |
| Linux / Linux | affected 4.6; unaffected 0 before 4.6; unaffected 5.10.259 through 5.10.*; unaffected 5.15.210 through 5.15.*; unaffected 6.1.176 through 6.1.*; unaffected 6.6.143 through 6.6.*; unaffected 6.12.93 through 6.12.*; unaffected 6.18.35 through 6.18.*; unaffected 7.0.12 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/e794bd67b3faf98af46f958897f6b91412c7d2a9
- https://git.kernel.org/stable/c/e3eec3005de44e7f37d8d7724be636446516ab42
- https://git.kernel.org/stable/c/ae87f505917e703ae3b487d9663d78826ff43608
- https://git.kernel.org/stable/c/5de7df75ef3a2756b25fe3d582a4a2970444fe5a
- https://git.kernel.org/stable/c/69020fa089f1bf0e1a10a15265f31b143a846409
- https://git.kernel.org/stable/c/75f6d3da2cc646983f41807ef98851569c12bca9
- https://git.kernel.org/stable/c/f141b01eaa58ac7e323931d670318aa247bff087
- https://git.kernel.org/stable/c/52f2ad3f7e5eb3b5908e1d685d4342519dc9cfcd