CVE-2025-14733

WatchGuard IKEv2: The 9.8 Gateway to Hell (CVE-2025-14733)

Amit Schendel
Amit Schendel
Senior Security Researcher

Jan 28, 2026·7 min read·3 visits

Executive Summary (TL;DR)

Critical RCE in WatchGuard Firebox firewalls via the IKEv2 VPN service. Unauthenticated attackers can crash the service or execute code as root by sending malformed packets. Active in the wild. Patch immediately.

A critical remote code execution vulnerability in WatchGuard Firebox's `iked` daemon allows unauthenticated attackers to dismantle the firewall's security from the outside. With over 115,000 devices exposed and active exploitation confirmed by CISA, this Out-of-bounds Write is a textbook example of how a single memory safety error in a perimeter device can compromise an entire network architecture.

The Hook: When the Shield Becomes the Target

There is a distinct irony in a firewall vulnerability. You spend your budget buying a hardened appliance, rack it with pride, and configure it to block the barbarians at the gate. But what happens when the gate itself is made of balsa wood? Enter CVE-2025-14733, a vulnerability in WatchGuard Firebox appliances that turns your perimeter security into a welcome mat for threat actors.

At its core, this is a story about the iked process—the Internet Key Exchange daemon. Its job is to negotiate encrypted VPN tunnels, a critical function for the modern remote workforce. To do this, it has to listen to the world on UDP ports 500 and 4500. It sits there, exposed to the raw internet, parsing packets from strangers in hopes of establishing a secure connection.

Here’s the kicker: The vulnerability is an Out-of-bounds Write triggered by unauthenticated IKEv2 packets. This means an attacker doesn't need a username, a password, or a certificate. They just need to send a specially crafted 'hello' packet, and the firewall—specifically configured for dynamic gateway peers—trips over its own shoelaces, potentially handing over root access. With 115,000+ devices exposed and CISA adding this to the KEV catalog within 24 hours of disclosure, this isn't theoretical. It's happening right now.

The Flaw: IKEv2 and the Trust Issues

The Internet Key Exchange version 2 (IKEv2) protocol is complex. Complexity is the enemy of security. The flaw specifically resides in how the iked daemon handles incoming negotiation packets when configured for Dynamic Gateway Peers.

In a static configuration, the firewall only talks to known IP addresses. It’s paranoid. But in a dynamic configuration (often used for mobile users or branch offices with shifting IPs), the firewall has to be promiscuous. It accepts connections from anywhere to see if they have valid credentials. The bug occurs deep in the packet parsing logic before those credentials are ever validated.

The vulnerability is a classic CWE-787: Out-of-bounds Write. When iked receives a packet, it reads length fields to determine how much memory to allocate or where to copy data. The developers likely assumed that the length fields in the packet header matched the actual data provided. They didn't. By providing a length value that exceeds the allocated buffer size, an attacker can force the daemon to write data past the end of a memory chunk.

This isn't just a crash (though it often causes one, leading to the 'process hang' symptoms described in the advisory). In the hands of a skilled exploit developer, an OOB write is a primitive that can be leveraged to overwrite function pointers, return addresses, or critical internal structures. Since iked typically runs with high privileges to manage network interfaces, you aren't just popping a shell; you're becoming the kernel's landlord.

The Code: Anatomy of a Buffer Overflow

While WatchGuard hasn't released the raw C source code (proprietary vendors rarely do), we can reconstruct the logic failure based on the behavior of the exploit and the patch notes. Vulnerabilities like this almost always boil down to a missing bounds check during a memory copy operation.

Imagine the parsing logic looks something like this pseudocode:

// VULNERABLE LOGIC RECONSTRUCTION
void process_ike_payload(char *packet, int packet_len) {
    ike_header_t *hdr = (ike_header_t *)packet;
    
    // The attacker controls hdr->payload_len
    // If payload_len is larger than the destination buffer, we die.
    if (hdr->payload_len > 0) {
        // FATAL FLAW: No check to ensure payload_len fits in dest_buffer
        // or that packet_len actually contains that much data.
        memcpy(dest_buffer, packet + sizeof(ike_header_t), hdr->payload_len);
    }
}

In the patched version (Fireware 12.11.6+), the logic would include a strict validation step. The code must verify that the declared length of the payload does not exceed the remaining bytes in the packet and does not exceed the size of the target buffer.

This highlights the danger of C/C++ in parsing untrusted network protocols. A single missed if statement turns a routine VPN handshake into a Remote Code Execution. The patch effectively introduces a 'sanity check'—validating that the data claiming to be 1000 bytes long is actually 1000 bytes long and that we have room for it before we start copying.

The Exploit: Knocking Down the Door

Exploiting CVE-2025-14733 is a straightforward exercise in protocol abuse. Because the vulnerability is in the initial negotiation phase, the attack vector is unauthenticated and remote. The attacker does not need to be inside the network; they just need line-of-sight to the WAN interface.

The Attack Chain:

  1. Reconnaissance: The attacker scans the internet for port 500 (ISAKMP) or 4500 (IPSec NAT-T). They identify WatchGuard devices via fingerprinting (often visible in default banners or protocol behavior).
  2. The Handshake: The attacker initiates an IKEv2 session. This looks like a legitimate VPN client trying to connect.
  3. The Payload: Instead of a valid proposal, the attacker sends a malformed packet where a specific payload length field is manipulated.
  4. The Trigger: The iked process attempts to parse this. Due to the OOB write, the process memory is corrupted.
    • Scenario A (DoS): The process crashes. VPN tunnels drop. The admin sees iked restarting or hanging.
    • Scenario B (RCE): The attacker carefully crafts the overflow to overwrite execution flow control structures (like the Global Offset Table or stack return addresses), redirecting execution to their shellcode.

Since this is a heap-based overflow in a daemon, reliability can be tricky. However, the indicators of compromise provided by WatchGuard suggest attackers have weaponized this successfully. If you see your iked process hanging or crashing repeatedly, you aren't just having bad luck—you're being battered by a battering ram.

The Impact: Why You Should Panic

If an attacker compromises the firewall, the concept of a 'DMZ' evaporates. They aren't just in the network; they are the traffic cop controlling the network.

Consequences of RCE on the Edge:

  • Traffic Interception: They can potentially sniff cleartext traffic passing through the device or terminate VPN connections to inspect them.
  • Lateral Movement: From the firewall, they can launch attacks against internal assets that trusted the firewall implicitly. They can pivot into the LAN, ignoring your carefully crafted VLAN rules.
  • Persistence: Threat actors are already observed creating rogue administrative users. Even if you patch the vulnerability, if you don't remove the backdoor user admin_backup_v2, they still own you.
  • Ransomware: In recent campaigns, edge devices are used to deploy ransomware encryptors directly to internal SMB shares.

This is a CVSS 9.8 for a reason. It is the digital equivalent of giving the bank robber the keys to the vault and the security camera codes.

The Fix: Closing the Window

Mitigation here is binary: Patch or perish. There are no clever configuration tweaks that fix the underlying code rot, although you can reduce the attack surface.

Primary Remediation: Update Fireware OS immediately.

  • 12.x Series: Update to 12.11.6.
  • 12.5.x (Legacy): Update to 12.5.15.
  • 2025.x: Update to 2025.1.4.

Workarounds (If you can't patch yet): If you cannot reboot your firewall right now (though you really should), you must kill the vector:

  1. Disable Built-in Mobile VPN with IKEv2: This is the primary vector. Switch users to SSL VPN temporarily.
  2. Kill Dynamic Peers: If you have Branch Office VPNs using dynamic gateways (0.0.0.0), switch them to Static IP definitions if possible. The vulnerability is triggered by the logic handling dynamic, unknown peers.

Finally, assume breach. If your device was exposed and unpatched in late 2025, check the logs. Look for new users. Reset all passwords. The patch fixes the hole, but it doesn't remove the burglar already hiding in your basement.

Technical Appendix

CVSS Score
9.8/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS Probability
40.66%
Top 3% most exploited
115,000
via Shadowserver / Shodan

Affected Systems

WatchGuard Firebox T SeriesWatchGuard Firebox M SeriesWatchGuard XTM Series (legacy)WatchGuard FireboxV (Virtual)WatchGuard Firebox Cloud

Affected Versions Detail

Product
Affected Versions
Fixed Version
Fireware OS
WatchGuard
12.0 - 12.11.512.11.6
Fireware OS
WatchGuard
2025.1 - 2025.1.32025.1.4
Fireware OS (T15/T35)
WatchGuard
< 12.5.1512.5.15
AttributeDetail
CWE IDCWE-787 (Out-of-bounds Write)
CVSS v3.19.8 (Critical)
Attack VectorNetwork (UDP 500/4500)
AuthenticationNone (Unauthenticated)
Affected Componentiked (Internet Key Exchange daemon)
EPSS Score0.40662 (High Probability)
KEV StatusListed (Active Exploitation)
CWE-787
Out-of-bounds Write

The software writes data past the end, or before the beginning, of the intended buffer.

Vulnerability Timeline

WatchGuard releases initial advisory WGSA-2025-00027
2025-12-18
Added to CISA Known Exploited Vulnerabilities (KEV)
2025-12-19
Over 115,000 vulnerable devices identified by researchers
2025-12-22
WatchGuard updates advisory with specific IoC IP addresses
2025-12-29

Subscribe to updates

Get the latest CVE analysis reports delivered to your inbox.