usb: gadget: f_midi: fix MIDI Streaming descriptor lengths
- 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.4.291, 5.10.235, 5.15.179, 6.1.129, 6.6.79, 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: usb: gadget: f_midi: fix MIDI Streaming descriptor lengths While the MIDI jacks are configured correctly, and the MIDIStreaming endpoint descriptors are filled with the correct information, bNumEmbMIDIJack and bLength are set incorrectly in these descriptors. This does not matter when the numbers of in and out ports are equal, but when they differ the host will receive broken descriptors with uninitialized stack memory leaking into the descriptor for whichever value is smaller. The precise meaning of "in" and "out" in the port counts is not clearly defined and can be confusing. But elsewhere the driver consistently uses this to match the USB meaning of IN and OUT viewed from the host, so that "in" ports send data to the host and "out" ports receive data from it.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From c8933c3f79568263c90a46f06cf80419e6c63c97 · fixed in 3a983390d14e8498f303fc5cb23ab7d696b815db; From c8933c3f79568263c90a46f06cf80419e6c63c97 · fixed in 9f36a89dcb78cb7e37f487b04a16396ac18c0636; From c8933c3f79568263c90a46f06cf80419e6c63c97 · fixed in d8e86700c8a8cf415e300a0921acd6a8f9b494f8; From c8933c3f79568263c90a46f06cf80419e6c63c97 · fixed in 9f6860a9c11301b052225ca8825f8d2b1a5825bf; From c8933c3f79568263c90a46f06cf80419e6c63c97 · fixed in 6ae6dee9f005a2f3b739b85abb6f14a0935699e0; From c8933c3f79568263c90a46f06cf80419e6c63c97 · fixed in 6b16761a928796e4b49e89a0b1ac284155172726; From c8933c3f79568263c90a46f06cf80419e6c63c97 · fixed in a2d0694e1f111379c1efdf439dadd3cfd959fe9d; From c8933c3f79568263c90a46f06cf80419e6c63c97 · fixed in da1668997052ed1cb00322e1f3b63702615c9429
- Linux Linux
3.2
- KernelLinux
From 3.2.0 · fixed in 5.4.291; From 5.5.0 · fixed in 5.10.235; From 5.11.0 · fixed in 5.15.179; From 5.16.0 · fixed in 6.1.129; From 6.2.0 · fixed in 6.6.79; From 6.7.0 · fixed in 6.12.16; From 6.13.0 · fixed in 6.13.4
References 8
git.kernel.org
- stable/c/3a983390d14e8498f303fc5cb23ab7d696b815db
- stable/c/9f36a89dcb78cb7e37f487b04a16396ac18c0636
- stable/c/d8e86700c8a8cf415e300a0921acd6a8f9b494f8
- stable/c/9f6860a9c11301b052225ca8825f8d2b1a5825bf
- stable/c/6ae6dee9f005a2f3b739b85abb6f14a0935699e0
- stable/c/6b16761a928796e4b49e89a0b1ac284155172726
- stable/c/a2d0694e1f111379c1efdf439dadd3cfd959fe9d
- stable/c/da1668997052ed1cb00322e1f3b63702615c9429