{"id":11238,"date":"2026-09-04T18:53:06","date_gmt":"2026-09-04T10:53:06","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74641"},"modified":"2026-09-04T18:53:06","modified_gmt":"2026-09-04T10:53:06","slug":"cve-2026-74641","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74641","title":{"rendered":"CVE-2026-74641 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usx2y: bound th"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ALSA: usx2y: bound the hwdep mmap fault offset<\/p>\n<p>snd_us428ctls_vm_fault() turns the faulting page offset into a kernel<br \/>\naddress with no bound of any kind:<\/p>\n<p>\toffset = vmf-&gt;pgoff &lt;us428ctls_sharedmem + offset;<br \/>\n\tpage = virt_to_page(vaddr);<br \/>\n\tget_page(page);<br \/>\n\tvmf-&gt;page = page;<\/p>\n<p>\treturn 0;<\/p>\n<p>snd_us428ctls_mmap() checks only the length of the mapping, never the<br \/>\noffset, and us428ctls_sharedmem is a single page from<br \/>\nalloc_pages_exact().  For a character device file_mmap_size_max()<br \/>\nreturns ULONG_MAX, so the mm layer imposes no ceiling either.  Every page<br \/>\noffset above zero resolves to a struct page outside the object, and the<br \/>\nhandler installs it into the caller&#8217;s address space read-write; the vma<br \/>\nis not marked read-only.<\/p>\n<p>The caller picks the page frame with a single mmap() argument and gets<br \/>\nread-write access to a page of kernel memory it does not own; an offset<br \/>\nthat lands in an unpopulated vmemmap region oopses instead.<\/p>\n<p>A process that can open the hwdep node of an attached US-X2Y reaches<br \/>\nthis after loading the FPGA image through the same node; no capability<br \/>\ncheck is involved.<\/p>\n<p>On 7.2.0-rc5 (arm64), mmap() with a large offset:<\/p>\n<p>  Unable to handle kernel paging request at virtual address fffffdffc45d5ac8<br \/>\n  pc : snd_us428ctls_vm_fault+0x68\/0x140 [snd_usb_usx2y]<br \/>\n  Call trace:<br \/>\n   snd_us428ctls_vm_fault+0x68\/0x140 [snd_usb_usx2y]<br \/>\n   __do_fault<br \/>\n   __handle_mm_fault<br \/>\n   handle_mm_fault<br \/>\n   el0_da<\/p>\n<p>Reject any offset outside the shared region.  The pcm hwdep handler in<br \/>\nusx2yhwdeppcm.c computes its address the same way and needs the same<br \/>\nbound.<\/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: usx2y: bound the hwdep mmap fault offset<\/p>\n<p>snd_us428ctls_vm_fault() turns the faulting page offset into a kernel<br \/>\naddress with <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11238","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11238","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=11238"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11238"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}