CVE-2026-10665: bounds in zephyrproject zephyr
In Zephyr'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->data, data_len, pkt->buffer, ..., data_len) passed the attacker-derived data_len as both the destination capacity and the copy length, defeating the function'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 — 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 — 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 > CONFIG_WIREGUARD_BUF_LEN rejection and corrects the linearize call to pass net_buf_max_len(buf) as the destination capacity.
AI Analysis
Technical Summary
In Zephyr's WireGuard implementation, the function wg_process_data_message() linearizes incoming transport-data payloads into a fixed-size buffer of CONFIG_WIREGUARD_BUF_LEN bytes. The length parameter data_len, derived from the UDP datagram length, is used both as the destination capacity and copy length in net_buf_linearize(), bypassing internal length bounds checks. When data_len exceeds the buffer size, an out-of-bounds write occurs before the Poly1305 authentication check, allowing a remote attacker with a valid session index to cause memory corruption or denial of service. The vulnerability is present in Zephyr 4.4.0 and versions >=4.4.0 <4.5.0. The fix involves rejecting data_len values larger than the buffer and correcting the linearize call to use the actual buffer capacity.
Potential Impact
This vulnerability allows a remote attacker who can send packets to an established WireGuard session to cause out-of-bounds memory writes, leading to memory corruption. The impact includes reliable denial of service and potentially other integrity issues. Confidentiality is not affected. Exploitation requires a valid receiver session index but no valid authentication token, lowering the barrier for an attacker controlling or compromising a peer or an on-path attacker.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix adds explicit rejection of data_len values exceeding CONFIG_WIREGUARD_BUF_LEN and corrects the buffer linearization call. Until an official patch or update is available, consider restricting or monitoring WireGuard traffic to trusted peers only, and avoid configurations where the buffer size is smaller than the link MTU or where fragmented packets could exceed the buffer size.
CVE-2026-10665: bounds in zephyrproject zephyr
Description
In Zephyr'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->data, data_len, pkt->buffer, ..., data_len) passed the attacker-derived data_len as both the destination capacity and the copy length, defeating the function'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 — 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 — 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 > CONFIG_WIREGUARD_BUF_LEN rejection and corrects the linearize call to pass net_buf_max_len(buf) as the destination capacity.
CVSS v3.1
Score 7.4high
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
In Zephyr's WireGuard implementation, the function wg_process_data_message() linearizes incoming transport-data payloads into a fixed-size buffer of CONFIG_WIREGUARD_BUF_LEN bytes. The length parameter data_len, derived from the UDP datagram length, is used both as the destination capacity and copy length in net_buf_linearize(), bypassing internal length bounds checks. When data_len exceeds the buffer size, an out-of-bounds write occurs before the Poly1305 authentication check, allowing a remote attacker with a valid session index to cause memory corruption or denial of service. The vulnerability is present in Zephyr 4.4.0 and versions >=4.4.0 <4.5.0. The fix involves rejecting data_len values larger than the buffer and correcting the linearize call to use the actual buffer capacity.
Potential Impact
This vulnerability allows a remote attacker who can send packets to an established WireGuard session to cause out-of-bounds memory writes, leading to memory corruption. The impact includes reliable denial of service and potentially other integrity issues. Confidentiality is not affected. Exploitation requires a valid receiver session index but no valid authentication token, lowering the barrier for an attacker controlling or compromising a peer or an on-path attacker.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The described fix adds explicit rejection of data_len values exceeding CONFIG_WIREGUARD_BUF_LEN and corrects the buffer linearization call. Until an official patch or update is available, consider restricting or monitoring WireGuard traffic to trusted peers only, and avoid configurations where the buffer size is smaller than the link MTU or where fragmented packets could exceed the buffer size.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- zephyr
- Date Reserved
- 2026-06-02T15:25:26.403Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a54991068715ace436e94dc
Added to database: 07/13/2026, 07:51:44 UTC
Last enriched: 07/13/2026, 07:53:03 UTC
Last updated: 07/13/2026, 19:54:26 UTC
Views: 12
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.