{"id":21647,"date":"2026-09-12T04:31:28","date_gmt":"2026-09-11T20:31:28","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89725"},"modified":"2026-09-12T04:31:28","modified_gmt":"2026-09-11T20:31:28","slug":"cve-2026-89725","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89725","title":{"rendered":"CVE-2026-89725 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: cec: stm32: pr"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>media: cec: stm32: prevent out-of-bounds write on RX overflow<\/p>\n<p>stm32_rx_done() appends each received CEC byte to rx_msg.msg[] using<br \/>\nrx_msg.len as the write index, incrementing it on every RXBR<br \/>\n(receive-byte-ready) interrupt without checking it against the buffer<br \/>\nsize:<\/p>\n<p>\tcec-&gt;rx_msg.msg[cec-&gt;rx_msg.len++] = val &amp; 0xFF;<\/p>\n<p>rx_msg.msg[] is a fixed CEC_MAX_MSG_SIZE (16) byte array in struct<br \/>\ncec_msg, and rx_msg.len is only reset on RXACKE\/RXOVR or after a<br \/>\ncompleted message (RXEND). The number of bytes received before RXEND is<br \/>\ndecided by the remote CEC device (it sets EOM), not by the driver. A<br \/>\npeer that keeps sending bytes without ending the message drives RXBR<br \/>\nrepeatedly, pushing rx_msg.len past 16 and writing peer-controlled bytes<br \/>\nout of bounds into the surrounding memory. This is reachable in normal<br \/>\noperation once the driver has probed and receiving is enabled, from the<br \/>\nIRQ thread, without any local privilege.<\/p>\n<p>The length check in the CEC core runs on the consumer side, after the<br \/>\nbyte has been stored, so it does not prevent the overflow. Bound the<br \/>\nindex in the driver before the store, as the other platform CEC drivers<br \/>\nalready do (e.g. tegra_cec), dropping the excess bytes of an overlong<br \/>\nframe.<\/p>\n<p>Found by static analysis tool CodeQL.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>media: cec: stm32: prevent out-of-bounds write on RX overflow<\/p>\n<p>stm32_rx_done() appends each received CEC byte to rx_msg.msg[] using<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21647","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21647","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=21647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}