{"id":41213,"date":"2026-10-19T00:32:38","date_gmt":"2026-10-18T16:32:38","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98741"},"modified":"2026-10-19T00:32:38","modified_gmt":"2026-10-18T16:32:38","slug":"cve-2026-98741","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98741","title":{"rendered":"CVE-2026-98741 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: ua101: reject m"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ALSA: ua101: reject mismatched capture\/playback packet sizes<\/p>\n<p>detect_usb_format() cross-checks bSubframeSize, bBitResolution and<br \/>\ntSamFreq between the capture and playback interfaces, but never relates<br \/>\nthe two endpoints&#8217; wMaxPacketSize and bNrChannels.  Each playback URB<br \/>\ngets a buffer of ua-&gt;playback.max_packet_bytes, while the number of<br \/>\nbytes written into it is derived from the capture stream:<br \/>\ncapture_urb_complete() computes frames from the received capture packet<br \/>\nand capture.frame_bytes, and start_usb_playback() and playback_work()<br \/>\nmultiply that by playback.frame_bytes.<\/p>\n<p>A device declaring a large capture wMaxPacketSize with few capture<br \/>\nchannels and a small playback wMaxPacketSize with many playback channels<br \/>\ntherefore memset()s and memcpy()s past the end of the playback buffer,<br \/>\nin open() of the PCM node the driver registers during probe.<br \/>\nusb_submit_urb() rejects the over-long iso_frame_desc[0].length with<br \/>\n-EMSGSIZE, but only after the write.<\/p>\n<p>Reject such descriptors at probe time.  Genuine UA-101\/UA-1000 hardware<br \/>\ndeclares proportional packet sizes and is unaffected.<\/p>\n<p>  BUG: KASAN: slab-out-of-bounds in start_usb_playback (sound\/usb\/misc\/ua101.c:586)<br \/>\n  Write of size 2048 at addr ffff8881098f3c00 by task exploit\/5021<br \/>\n  Call Trace:<br \/>\n   __asan_memset (mm\/kasan\/shadow.c:84)<br \/>\n   start_usb_playback (sound\/usb\/misc\/ua101.c:586)<br \/>\n   playback_pcm_open (sound\/usb\/misc\/ua101.c:679)<br \/>\n   snd_pcm_open_substream (sound\/core\/pcm_native.c:2829)<br \/>\n   snd_pcm_open (sound\/core\/pcm_native.c:2865 sound\/core\/pcm_native.c:2932)<br \/>\n   snd_pcm_playback_open (sound\/core\/pcm_native.c:2891)<br \/>\n   snd_open (sound\/core\/sound.c:166)<br \/>\n   chrdev_open (fs\/char_dev.c:411)<br \/>\n   do_dentry_open (fs\/open.c:996)<br \/>\n   vfs_open (fs\/open.c:1101)<br \/>\n   path_openat (fs\/namei.c:4837 fs\/namei.c:5000)<br \/>\n   do_file_open (fs\/namei.c:5029)<br \/>\n   do_sys_openat2 (fs\/open.c:1417)<br \/>\n   __x64_sys_openat (fs\/open.c:1423 fs\/open.c:1439 fs\/open.c:1434)<br \/>\n   do_syscall_64 (arch\/x86\/entry\/syscall_64.c:61 arch\/x86\/entry\/syscall_64.c:84)<br \/>\n   entry_SYSCALL_64_after_hwframe (arch\/x86\/entry\/entry_64.S:121)<\/p>\n<p>  The buggy address belongs to the object at ffff8881098f3c00<br \/>\n   which belongs to the cache kmalloc-192 of size 192<br \/>\n  The buggy address is located 0 bytes inside of<br \/>\n   allocated 168-byte region [ffff8881098f3c00, ffff8881098f3ca8)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ALSA: ua101: reject mismatched capture\/playback packet sizes<\/p>\n<p>detect_usb_format() cross-checks bSubframeSize, bBitResolution and<br \/>\ntS<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41213","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41213","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=41213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}