{"id":29087,"date":"2026-09-25T20:31:51","date_gmt":"2026-09-25T12:31:51","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97931"},"modified":"2026-09-25T20:31:51","modified_gmt":"2026-09-25T12:31:51","slug":"cve-2026-97931","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-97931","title":{"rendered":"CVE-2026-97931 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: us122l: Prevent"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ALSA: us122l: Prevent write upgrades for read mappings<\/p>\n<p>The hwdep mmap callback rejects read-buffer mappings that are initially<br \/>\nwritable, but leaves VM_MAYWRITE set on mappings created with PROT_READ.<br \/>\nA process that can open the hwdep node O_RDWR can later use mprotect() to<br \/>\nmake the mapping writable.<\/p>\n<p>The read allocation begins with struct usb_stream. Its read_size member is<br \/>\nused by the fault handler to decide which pages belong to the read buffer.<br \/>\nThe read VMA intentionally remains expandable because pcm_usb_stream uses<br \/>\nmremap() after reading that size. Changing read_size first can therefore<br \/>\nmap and access pages beyond the allocation. The same member is also<br \/>\nconsumed by usb_stream_free(), where changing it can make<br \/>\nfree_pages_exact() release pages outside the allocation.<\/p>\n<p>Clear VM_MAYWRITE for read-buffer mappings after rejecting an initially<br \/>\nwritable VMA. This keeps the separate output-buffer mapping writable while<br \/>\npreventing later permission upgrades.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ALSA: us122l: Prevent write upgrades for read mappings<\/p>\n<p>The hwdep mmap callback rejects read-buffer mappings that are initially<br \/>\nwri<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-29087","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/29087","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=29087"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=29087"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=29087"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}