{"id":17276,"date":"2026-09-05T02:30:56","date_gmt":"2026-09-04T18:30:56","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80772"},"modified":"2026-09-05T02:30:56","modified_gmt":"2026-09-04T18:30:56","slug":"cve-2026-80772","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-80772","title":{"rendered":"CVE-2026-80772 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nHID: nintendo: fix ou"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>HID: nintendo: fix out-of-bounds read in joycon_ctlr_read_handler()<\/p>\n<p>joycon_ctlr_read_handler() casts an incoming HID input report to<br \/>\nstruct joycon_input_report and parses it, guarding the cast only with a<br \/>\n12-byte length check:<\/p>\n<p>\tif (size &gt;= 12) \/* make sure it contains the input report *\/<br \/>\n\t\tjoycon_parse_report(ctlr, (struct joycon_input_report *)data);<\/p>\n<p>struct joycon_input_report is 49 bytes: a 13-byte header followed by a<br \/>\nunion whose IMU arm is 36 bytes. For an IMU report joycon_parse_report()<br \/>\n-&gt; joycon_parse_imu_report() walks that union (struct offsets 13..48),<br \/>\nso a report of exactly 12 bytes with data[0] == JC_INPUT_IMU_DATA passes<br \/>\nthe guard yet is read up to 37 bytes past its declared length. The<br \/>\nover-read bytes are decoded into accelerometer\/gyroscope values and<br \/>\nforwarded to userspace through the &#8220;(IMU)&#8221; input device, leaking<br \/>\ndriver-internal memory. data[0] and size are fully controlled by a<br \/>\nmalicious or spoofed Joy-Con\/Pro Controller.<\/p>\n<p>Receive buffers are sized to the maximum report length, so this is an<br \/>\nover-read within the allocation rather than a slab OOB, but the decoded<br \/>\nbytes still reach userspace.<\/p>\n<p>The sibling subcmd path in joycon_ctlr_handle_event() already bounds the<br \/>\nsame cast correctly:<\/p>\n<p>\tif (size &lt; sizeof(struct joycon_input_report) ||<br \/>\n\t    data[0] != JC_INPUT_SUBCMD_REPLY)<br \/>\n\t\tbreak;<\/p>\n<p>Use the same sizeof(struct joycon_input_report) bound here.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>HID: nintendo: fix out-of-bounds read in joycon_ctlr_read_handler()<\/p>\n<p>joycon_ctlr_read_handler() casts an incoming HID input report <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-17276","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/17276","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=17276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}