Skip to main content

Zephyr WireGuard CVE-2026-13734

| EUVDEUVD-2026-67946 MEDIUM
Authentication Bypass by Capture-replay (CWE-294)
2026-08-28 zephyr
6.5
CVSS 3.1 · Vendor: zephyr
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Attain on-path or shared-medium position
  2. Delivery
    Capture valid MESSAGE_TRANSPORT_DATA UDP datagram
  3. Exploit
    Re-inject ciphertext from attacker-controlled source address
  4. Execution
    AEAD decryption succeeds, peer state mutated before replay check
  5. Persist
    Tunnel endpoint roamed to attacker address
  6. Impact
    Victim outbound traffic redirected until legitimate peer re-corrects

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Replay attack prevention
Exploitation Conditions

Two concrete prerequisites must both be satisfied. First, the attacker must be on-path or on a shared medium relative to the WireGuard session - capable of passively capturing at least one valid encrypted MESSAGE_TRANSPORT_DATA datagram from the legitimate peer; a purely off-path attacker cannot supply the required authentic ciphertext. Second, the target node must be running Zephyr RTOS with the WireGuard subsystem compiled in and an active WireGuard session established (idle peers with no active session have no traffic to capture). No authentication credentials are required once a valid ciphertext is captured, because the handler processes inbound UDP datagrams based solely on the receiver keypair index. Limiting factors: the attack window is transient - the legitimate peer's next packet re-corrects the hijacked endpoint - so persistent redirection requires continuous replays; the attacker gains traffic redirection only (outbound packets from the victim to the attacker's address), not decryption of tunnel payload; and the attack does not apply to WireGuard implementations on other platforms (Linux, Windows, etc.), only to the Zephyr subsystem.

Impact

The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H, score 6.5) accurately reflects the attack profile: network-reachable and requiring no credentials, but gated behind a High complexity prerequisite - the attacker must occupy an on-path or shared-medium position to capture a valid ciphertext before replaying it. No KEV listing is present and no public exploit has been identified at time of analysis, so real-world exploitation is not confirmed. The RCE tag attached to this CVE in the source data is contradicted by both the description and the fix diff, which explicitly confirm no payload decryption occurs; defenders should classify this as a traffic-redirection and session-disruption vulnerability, not code execution. The High availability rating is justified by premature keypair destruction, which forces a costly handshake to re-establish the session; the Low integrity rating reflects that the endpoint hijack is transient - the legitimate peer's next authenticated packet re-corrects the roaming state. The net risk is meaningful for IoT environments where WireGuard tunnels carry control-plane or telemetry traffic and where network adjacency is a realistic threat model (e.g., shared cellular APNs, LTE network slices, or campus Wi-Fi), but low for deployments where WireGuard peers communicate over dedicated, monitored links with no realistic on-path adversary.

Exploit ScenarioDerived

An attacker positioned on a shared Wi-Fi network or compromised router between two WireGuard peers passively captures a single valid MESSAGE_TRANSPORT_DATA UDP datagram from the legitimate peer. The attacker re-transmits the unchanged ciphertext with a spoofed source IP and port pointing to an attacker-controlled address; Zephyr's handler decrypts it successfully (the AEAD tag is still valid), updates the peer endpoint to the attacker's address, destroys the previous keypair, and refreshes liveness timers before the replay check fires and returns an error. The victim node's subsequent outbound WireGuard packets are then forwarded to the attacker's address until the legitimate peer sends its next authenticated packet to re-correct the roaming state.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 28, 2026

Zephyr RTOS's WireGuard VPN receive handler in wg_process_data_message() commits permanent peer-state mutations - endpoint roaming update, liveness timer refresh, and keypair promotion - before validating the anti-replay counter, allowing an on-path attacker who captures a single valid encrypted datagram to replay it from a spoofed source address and hijack the tunnel endpoint. Because AEAD decryption succeeds for any authentic ciphertext regardless of freshness, the spoofed replay is processed as legitimate and irreversibly alters peer state before the replay check fires and returns -EINVAL. No public exploit has been identified at time of analysis; patch is available via upstream commit 260c32ef.

RemediationAI

Apply upstream fix commit 260c32ef9a89824bd25e17170e77aa4b98c84069 (https://github.com/zephyrproject-rtos/zephyr/commit/260c32ef9a89824bd25e17170e77aa4b98c84069), which repositions wg_check_replay() to immediately after successful AEAD decryption and before any peer-state mutation, matching the WireGuard specification. A specific patched release version has not been independently confirmed from the available references - teams should verify whether a tagged Zephyr release incorporating this commit has been published and target that release for firmware builds. As a compensating control where firmware updates are not immediately feasible, restrict inbound UDP access to WireGuard listener ports at the network perimeter to only trusted source ranges, reducing the ability of opportunistic adversaries to inject crafted datagrams; note this does not protect against adversaries already on-path within the permitted network segment. The full security advisory is at https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-x7q7-fjx9-4vj2.

Affected VersionsENISA

Zephyr 4.4.0 <4.4.2

Affected Packages

euvd zephyr fix: 4.4.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Zephyr is an open-source RTOS (cpe:2.3:a:zephyrproject:zephyr:*:*:*:*:*:*:*:*) widely used in IoT and embedded device firmware. The affected component is the WireGuard VPN data-plane in subsys/net/lib/wireguard/wg_crypto.c. CWE-294 (Authentication Bypass by Capture-Replay) is the root cause: WireGuard uses AEAD (ChaCha20-Poly1305) to authenticate packet content and integrity, but AEAD by construction does not protect against replay of previously-authenticated ciphertext - that role belongs to the anti-replay sliding window (wg_check_replay()). The WireGuard specification and the Linux kernel reference implementation both require the replay check to occur before any peer-state mutation. Zephyr's implementation inverted this ordering: update_peer_addr() (endpoint roaming), keypair_update() (promote next→current keypair and destroy previous), and last_rx liveness timers were all committed before wg_check_replay() was called. On a replayed packet, the replay check then returned -EINVAL, but without rolling back the mutations, leaving peer state permanently corrupted by the attacker-injected datagram.

Know when Zephyr gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (zephyr) PRIMARY 6.5 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
vuln.today AI 6.5 MEDIUM

On-path capture prerequisite drives AC:H; no credentials needed (PR:N); no payload decryption (C:N); endpoint hijack is transient low-integrity, keypair destruction is high-availability.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (zephyr).

CVSS VectorVendor: zephyr

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
High

DescriptionCVE.org

Zephyr's WireGuard VPN data-plane receive handler wg_process_data_message() in subsys/net/lib/wireguard/wg_crypto.c validated the anti-replay counter too late. After AEAD decryption of a MESSAGE_TRANSPORT_DATA packet succeeded, the code committed several peer-state changes - update_peer_addr() (endpoint roaming update), the keypair->last_rx/peer->last_rx liveness timers, and keypair_update() (promote next→current and destroy the previous keypair) - and only afterward called wg_check_replay(). On a replayed packet the replay check returned -EINVAL, but none of the preceding mutations were rolled back.

The AEAD tag authenticates content but not freshness, so a replayed-but-authentic transport packet decrypts correctly. An attacker who captures one valid ciphertext off the wire (an on-path or shared-medium observer) can re-inject it from an arbitrary spoofed source address. Reaching the handler requires no credentials: it is driven directly from inbound UDP datagrams via the dispatch in subsys/net/lib/wireguard/wg.c.

Because the state mutations committed before the replay check, the replay repoints the peer endpoint to the attacker-chosen source address (roaming hijack), redirecting the victim's subsequent outbound tunnel traffic until the legitimate peer's next packet re-corrects it; it also prematurely destroys the previous keypair and refreshes the RX liveness timer. The tunnel payload stays encrypted under the session keypair, so this is an integrity/availability impact (traffic redirection and session disruption), not payload disclosure. The fix moves wg_check_replay() to immediately after a successful decrypt, before any peer-state mutation, matching the WireGuard specification and the Linux reference implementation.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
Low
niche RTOS deployed in IoT and embedded firmware
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Zephyr

View all
CVE-2023-4260 CRITICAL POC
10.0 Sep 27

Potential off-by-one buffer overflow vulnerability in the Zephyr fuse file system. Rated critical severity (CVSS 10.0),

CVE-2026-1678 CRITICAL POC
9.8 Mar 05

An out-of-bounds write in the Zephyr RTOS DNS resolver (dns_unpack_name()) lets a crafted DNS response corrupt memory on

CVE-2023-5055 CRITICAL POC
9.8 Nov 21

Possible variant of CVE-2021-3434 in function le_ecred_reconf_req. Rated critical severity (CVSS 9.8), this vulnerabilit

CVE-2023-4257 CRITICAL POC
9.8 Oct 13

Unchecked user input length in /subsys/net/l2/wifi/wifi_shell.c can cause buffer overflows. Rated critical severity (CVS

CVE-2023-3725 CRITICAL POC
9.8 Oct 06

Potential buffer overflow vulnerability in the Zephyr CAN bus subsystem. Rated critical severity (CVSS 9.8), this vulner

CVE-2021-3323 CRITICAL POC
9.8 Oct 12

Integer Underflow in 6LoWPAN IPHC Header Uncompression in Zephyr. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2021-3625 CRITICAL POC
9.8 Oct 05

Buffer overflow in Zephyr USB DFU DNLOAD. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable

CVE-2021-3319 CRITICAL POC
9.8 Oct 05

DOS: Incorrect 802154 Frame Validation for Omitted Source / Dest Addresses. Rated critical severity (CVSS 9.8), this vul

CVE-2018-1000800 CRITICAL POC
9.8 Sep 06

zephyr-rtos version 1.12.0 contains a NULL base pointer reference vulnerability in sys_ring_buf_put(), sys_ring_buf_get(

CVE-2023-4264 CRITICAL POC
9.6 Sep 27

Potential buffer overflow vulnerabilities n the Zephyr Bluetooth subsystem. Rated critical severity (CVSS 9.6), this vul

CVE-2024-1638 CRITICAL POC
9.1 Feb 19

The documentation specifies that the BT_GATT_PERM_READ_LESC and BT_GATT_PERM_WRITE_LESC defines for a Bluetooth characte

CVE-2023-5753 HIGH POC
8.8 Oct 25

Potential buffer overflows in the Bluetooth subsystem due to asserts being disabled in /subsys/bluetooth/host/hci_core.c

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy