{"id":13600,"date":"2026-09-04T19:00:51","date_gmt":"2026-09-04T11:00:51","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-10665"},"modified":"2026-09-04T19:00:51","modified_gmt":"2026-09-04T11:00:51","slug":"cve-2026-10665","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-10665","title":{"rendered":"CVE-2026-10665 [HIGH] &#8211; In Zephyr&#8217;s WireGuard subsystem (subsys\/net\/lib\/wireguard), wg_process_data_message() in w"},"content":{"rendered":"<p>In Zephyr&#8217;s WireGuard subsystem (subsys\/net\/lib\/wireguard), wg_process_data_message() in wg_crypto.c linearizes an inbound transport-data payload into a fixed pool buffer of CONFIG_WIREGUARD_BUF_LEN bytes before decryption. The call net_buf_linearize(buf-&gt;data, data_len, pkt-&gt;buffer, &#8230;, data_len) passed the attacker-derived data_len as both the destination capacity and the copy length, defeating the function&#8217;s internal len = min(len, dst_len) bound. data_len is derived from the received UDP datagram length and is only lower-bounded by wg_ctrl_recv() (no upper bound). When data_len exceeds CONFIG_WIREGUARD_BUF_LEN \u2014 e.g. when the buffer length is lowered below the link MTU, on links with MTU above the buffer size, or via reassembled IPv4\/IPv6 fragments that exceed it \u2014 the underlying memcpy writes past the end of the pool buffer, an out-of-bounds write (CWE-787). The overflow occurs before the Poly1305 authentication check, so it requires only a valid receiver session index rather than a valid authenticator, and is reachable by a malicious or compromised peer (or an on-path attacker driving an established session) over the network, yielding remote memory corruption and at minimum a reliable denial of service. The defect was present in the WireGuard implementation shipped in Zephyr 4.4.0. The fix adds an explicit data_len &gt; CONFIG_WIREGUARD_BUF_LEN rejection and corrects the linearize call to pass net_buf_max_len(buf) as the destination capacity.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Zephyr&#8217;s WireGuard subsystem (subsys\/net\/lib\/wireguard), wg_process_data_message() in wg_crypto.c linearizes an inbound transport-data payload into a fixed pool buffer of CONFIG_WIREGUARD_BUF_LEN b<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-13600","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/13600","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=13600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}