CVE-2026-79977
Last modified
CVE-2026-79977 is a high-severity vulnerability rated 8.2/10 on the CVSS scale. The WireGuard VPN service in subsys/net/lib/wireguard/wg.c updated the peer endpoint from a message it could not authenticate. In handle_transport_data(), when the 32-bit receiver index of an incoming transport-data message matched no session, the code both scheduled a new handshake and copied the datagram's source address into peer->endpoint with memcpy(&peer->endpoint, peer_addr, sizeof(peer->endpoint)). EPSS estimates a 0.17% chance of exploitation in the next 30 days.
Description
The WireGuard VPN service in subsys/net/lib/wireguard/wg.c updated the peer endpoint from a message it could not authenticate. In handle_transport_data(), when the 32-bit receiver index of an incoming transport-data message matched no session, the code both scheduled a new handshake and copied the datagram's source address into peer->endpoint with memcpy(&peer->endpoint, peer_addr, sizeof(peer->endpoint)). Because the receiver index is unknown, there is no key with which such a message could be verified, so the address written into peer->endpoint is entirely attacker-supplied. Every other endpoint update in the implementation happens only after authentication — after the Noise handshake in handle_handshake_init(), or after AEAD decryption plus the anti-replay check in wg_process_data_message(). The WireGuard listener is registered with net_udp_register() using no remote address or port filter and defaults to UDP port 51820 (CONFIG_WIREGUARD_PORT), and wg_ctrl_recv() resolves the peer by interface rather than by any cryptographic identity. Any host able to send a UDP datagram to that port can therefore reach the defect off-path, with no need to observe legitimate traffic: a 16-byte datagram carrying the transport-data type, zeroed reserved bytes and an arbitrary receiver index is sufficient. The vulnerable branch runs whenever the peer has neither a valid handshake nor a current keypair — the state at boot and after a session expires. A single spoofed datagram redirects peer->endpoint to an address of the attacker's choosing, and all subsequent handshake initiations, keepalives and encrypted data packets are sent there. The legitimate peer never receives the initiations and so never re-authenticates, and nothing resets the endpoint afterwards, leaving the tunnel persistently unusable on devices whose peer does not initiate handshakes itself. The attacker can also relay the redirected initiations to the real peer to place itself in the path of the tunnel, observing ciphertext and traffic metadata and selectively dropping packets. WireGuard's end-to-end cryptography still prevents decryption or forgery of tunnel content, so the impact is loss of availability plus limited confidentiality, not key compromise. The fix removes the endpoint learning from this path entirely: the stale-session recovery is kept, but the handshake is sent only to an endpoint learnt from an authenticated message, falling back to the configured cfg_endpoint, and the message is dropped when neither is known. CONFIG_WIREGUARD is marked experimental and is not enabled by default.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| zephyrproject | zephyr | >= 4.4.0, <= 4.4.2 |
References
Timeline
- Published
- Last Modified
- Status
- Awaiting Analysis
Frequently Asked Questions
What is CVE-2026-79977?
How severe is CVE-2026-79977?
How do I fix CVE-2026-79977?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Same Subject, Wrong User: A Cross-Issuer Account Takeover in n8nStrix found an identity-binding bug in n8n's token-exchange flow enabling account takeover.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-79971Dell SCG 5.0 Appliance versions prior to 5.36.00.16 and Dell…5.3
- CVE-2026-79972Dell SCG 5.0 Appliance versions prior to 5.36.00.16 and Dell…7.2
- CVE-2026-79973Dell SCG 5.0 Appliance versions prior to 5.36.00.16 and Dell…6.3
- CVE-2026-79974Dell SCG 5.0 Appliance versions prior to 5.36.00.16 and Dell…6.4
- CVE-2026-79975Dell SCG 5.0 Appliance versions prior to 5.36.00.16 and Dell…5.5
- CVE-2026-79976The MCTP-over-I2C+GPIO target binding in subsys/pmci/mctp/mc…7.1
- CVE-2026-79978The RTIO streaming completion callback adxl345_process_fifo_…3.6
- CVE-2026-79979The arm64 MMU backend invalidates a single virtual address f…7.8
- CVE-2026-7998Insufficient validation of untrusted input in Dialog in Goog…5.4
- CVE-2026-79980The DHCPv4 client in subsys/net/lib/dhcpv4/dhcpv4.c maintain…5.6
- CVE-2026-79981The DNS stub resolver in subsys/net/lib/dns/resolve.c binds …6.5
- CVE-2026-79982The Bluetooth HCI USB transport class of the new USB device …8.8
Are you affected by CVE-2026-79977?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
