{"id":21306,"date":"2026-09-12T04:31:00","date_gmt":"2026-09-11T20:31:00","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80973"},"modified":"2026-09-12T04:31:00","modified_gmt":"2026-09-11T20:31:00","slug":"cve-2026-80973","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80973","title":{"rendered":"CVE-2026-80973 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: 6fire: bound th"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ALSA: 6fire: bound the MIDI event length from the device<\/p>\n<p>usb6fire_comm_receiver_handler() forwards a MIDI event using a length<br \/>\nbyte the device supplies, with no bound and no check that the transfer<br \/>\ndelivered that many bytes:<\/p>\n<p>\tif (!urb-&gt;status) {<br \/>\n\t\tif (rt-&gt;receiver_buffer[0] == 0x10) \/* midi in event *\/<br \/>\n\t\t\tif (midi_rt)<br \/>\n\t\t\t\tmidi_rt-&gt;in_received(midi_rt,<br \/>\n\t\t\t\t\t\trt-&gt;receiver_buffer + 2,<br \/>\n\t\t\t\t\t\trt-&gt;receiver_buffer[1]);<br \/>\n\t}<\/p>\n<p>receiver_buffer is a 64-byte kzalloc() buffer (COMM_RECEIVER_BUFSIZE), so<br \/>\nonly 62 bytes follow the two-byte header.  receiver_buffer[1] is a u8 the<br \/>\ndevice chooses, so a device that answers with 0x10 and a length of 0xFF<br \/>\nmakes snd_rawmidi_receive() read 255 bytes starting two bytes into a<br \/>\n64-byte object.  The bytes past the buffer are handed to userspace<br \/>\nthrough the rawmidi read path.<\/p>\n<p>urb-&gt;actual_length is not consulted either, so a short transfer leaves<br \/>\nboth the type byte and the length byte at their previous values and the<br \/>\nhandler acts on stale data.<\/p>\n<p>The receiver URB is submitted from usb6fire_comm_init() at probe, so the<br \/>\nread happens on plug with no user action; forwarding to userspace also<br \/>\nneeds a MIDI input substream open, since usb6fire_midi_in_received()<br \/>\nonly calls snd_rawmidi_receive() when rt-&gt;in is set.<\/p>\n<p>KASAN on 7.2.0-rc5 (arm64), single packet from an emulated device:<\/p>\n<p>  BUG: KASAN: slab-out-of-bounds in snd_rawmidi_receive<br \/>\n  Read of size 255 at addr ffff000009f64682 by task bash\/183<br \/>\n   __asan_memcpy<br \/>\n   snd_rawmidi_receive<br \/>\n   usb6fire_midi_in_received [snd_usb_6fire]<br \/>\n   usb6fire_comm_receiver_handler [snd_usb_6fire]<br \/>\n  Allocated by task 11:<br \/>\n   usb6fire_comm_init [snd_usb_6fire]<br \/>\n   usb6fire_chip_probe [snd_usb_6fire]<br \/>\n  The buggy address is located 2 bytes inside of<br \/>\n   allocated 64-byte region [ffff000009f64680, ffff000009f646c0)<\/p>\n<p>Reject the event when the length exceeds the bytes that follow the<br \/>\nheader, and require the transfer to have delivered the header plus that<br \/>\nmany bytes.  The receiver URB is submitted with a 64-byte<br \/>\ntransfer_buffer_length, so a genuine device cannot deliver an event<br \/>\nlonger than those 62 bytes and nothing valid is dropped.<\/p>\n<p>Discovered by XBOW, triaged by Baul Lee <\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ALSA: 6fire: bound the MIDI event length from the device<\/p>\n<p>usb6fire_comm_receiver_handler() forwards a MIDI event using a length<br \/>\nbyt<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21306","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21306"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21306"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}