Someone left the front gate of the castle unlocked and the drawbridge down, and the invaders already know the address
CVE-2025-14733 is a heap-based out-of-bounds write in the iked process of WatchGuard Fireware OS. When a WatchGuard Firebox is configured to accept IKEv2 VPN connections — Mobile User VPN or Branch Office VPN with dynamic gateway peers — the daemon fails to validate the size of a certificate chain payload in an IKE_AUTH request before writing it to a fixed-size buffer. Sending a crafted IKEv2 packet with an oversized CERT payload (>2,000 bytes vs the normal <500 bytes) to UDP port 500 or 4500 triggers arbitrary code execution as the iked process, with no authentication, no user interaction, and low attack complexity. Affected versions span Fireware OS 11.10.2 through 11.12.4_Update1 (end-of-life, no patch), 12.0 through 12.11.5, 12.5.x on T15/T35 models through 12.5.14, and 2025.1 through 2025.1.3. Fixed versions are 2025.1.4, 12.11.6, 12.5.15, and 12.3.1_Update4 (FIPS).
The vendor rated this CVSS 9.8 (NVD vector) / 9.3 (CVSS 4.0), and the vendor is right — arguably conservative. This is an unauthenticated pre-auth RCE on a network perimeter device whose attack surface (UDP 500) is open to the internet *by design*. Over 117,490 exposed Firebox appliances were identified at disclosure, and ~9,000 remain unpatched ten months later. CISA added it to the KEV catalog on day zero (December 19, 2025) and updated the ransomware field to "Known" in September 2026. Unnamed ransomware operators have confirmed post-exploitation playbooks including credential theft, internal pivoting, and ransomware deployment through the compromised appliance. The vendor severity is not inflated — this is as bad as it looks.
5 steps from start to impact.
Identify exposed Firebox appliances
machevalia/CVE-2025-14733 automates version detection via standard IKEv2 negotiation.- Internet access and a scanner
- None — UDP 500 is open by design on any IKEv2 VPN endpoint
shodan search 'WatchGuard' port:500.Send crafted IKEv2 IKE_AUTH with oversized CERT payload
iked process does not validate payload size before writing to the allocated buffer, triggering a heap-based out-of-bounds write. No authentication or prior session state is required — this is a single-packet attack during the IKE_AUTH exchange.- Target has IKEv2 VPN configured (Mobile User VPN or BOVPN with dynamic peers)
- Network path to UDP 500/4500
- IKEv2 must be enabled — but it is the standard protocol for any modern WatchGuard VPN deployment
- No public weaponized exploit code exists yet (scanner only), raising the bar slightly for commodity attackers
Received peer certificate chain is longer than 8. Reject this certificate chain. IDS/IPS rules for oversized IKE_AUTH CERT payloads (>2000 bytes). WatchGuard's own diagnostic logging catches this pattern.Achieve code execution as iked process
iked daemon context. The attacker gains code execution on the Firebox appliance itself — a Linux-based embedded system running at the network perimeter with full visibility into all transit traffic.- Successful heap corruption from step 2
- Heap layout may vary across Fireware versions, but the broad version range and confirmed in-the-wild exploitation indicate reliable weaponization
iked process crashes, hangs, or unexpected restarts. Fault reports in device diagnostic logs. Monitor for unexpected process behavior via WatchGuard Dimension or syslog forwarding.Harvest credentials and configuration
- Code execution from step 3
- None — credentials are stored on the device by design
Pivot into internal network and deploy ransomware
- Internal network reachable from Firebox (always true by design)
- Harvested credentials from step 4
- Internal segmentation, EDR, and identity monitoring may slow lateral movement, but the initial foothold is already inside the perimeter
iked crashes/hangs, outbound connections to published C2 IPs, and unexpected configuration exports. This does not prevent exploitation but enables rapid detection of compromise.- WAF/IPS in front of the Firebox — The Firebox IS the perimeter device. There is typically no inline security device in front of it inspecting UDP 500 traffic. IPS signatures may exist but the Firebox's own IPS cannot protect itself from attacks targeting its own VPN daemon.
- Network segmentation behind the firewall — While segmentation slows lateral movement post-compromise, it does not prevent the initial Firebox compromise or credential harvesting. The attacker already has the firewall's configuration and stored credentials.
- MFA on VPN — MFA protects against credential-based VPN login, not against a pre-authentication memory corruption exploit in the IKE daemon itself. The attacker never authenticates — they corrupt memory before auth occurs.
- Switching to IKEv1 — While the specific vulnerability is in IKEv2 processing, downgrading to IKEv1 introduces its own well-documented security weaknesses and is not a recommended long-term mitigation.
The supporting signals.
| In-the-wild exploitation | Confirmed active since early-to-mid December 2025, within days of disclosure. CISA KEV-listed on December 19, 2025. Ransomware exploitation confirmed by CISA in September 2026. Unnamed ransomware operator(s) targeting SMB/mid-market with credential theft → pivot → ransomware playbook. |
|---|---|
| Proof-of-concept availability | Scanner available, no public weaponized exploit. GitHub repo machevalia/CVE-2025-14733 is a Python-based version detection scanner (safe, non-exploitative). ProjectDiscovery has a nuclei template for detection. No public exploit code on ExploitDB or Metasploit. However, in-the-wild exploitation confirms private weaponization exists. |
| EPSS score | 0.2651 (26.51%) — top quartile, indicating significant predicted exploitation probability. Consistent with confirmed active exploitation. |
| CISA KEV status | Listed December 19, 2025 (same day as disclosure). Ransomware field updated from "Unknown" to "Known" in September 2026. Federal agencies were required to remediate per BOD 22-01. |
| CVSS vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (9.8) — Network-reachable, low complexity, no privileges, no interaction. Full CIA impact. CVSS 4.0 vendor score is 9.3 with vector CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/U:Red. |
| Affected versions | Fireware OS 11.10.2–11.12.4_Update1 (EOL, no patch), 12.0–12.11.5, 12.5.x T15/T35 through 12.5.14, 2025.1–2025.1.3, 12.3.1 FIPS (pre-Update4) |
| Fixed versions | 2025.1.4, 12.11.6, 12.5.15 (T15/T35), 12.3.1_Update4 (B728352) (FIPS). No fix for 11.x — EOL hardware must be replaced. |
| Exposure data | Shadowserver/Shodan/Censys identified 117,490 exposed Firebox appliances at disclosure (Dec 2025). US: ~35,600 (30%), Germany: ~13,000, Italy: ~11,300, UK: ~9,000, Canada: ~5,800. As of ~Sep 2026, ~9,000 remain unpatched. |
| Disclosure date | December 19, 2025. Coordinated disclosure by WatchGuard with simultaneous CISA KEV listing, indicating pre-disclosure knowledge of exploitation. |
| Discovery credit | WatchGuard internal discovery. Advisory ID: WGSA-2025-00027. Horizon3.ai published independent technical analysis. No external researcher credited. |
Sources.
- WatchGuard PSIRT Advisory WGSA-2025-00027
- CISA KEV Catalog Addition (Dec 19, 2025)
- BleepingComputer — WatchGuard RCE flaw exploited in ransomware attacks
- Horizon3.ai Technical Analysis
- Cyberwarzone — 117,490+ Exposed Firewalls
- GitHub — machevalia/CVE-2025-14733 Scanner Tool
- SOCPrime — CVE-2025-14733 Detection & Analysis
- Help Net Security — WatchGuard Firebox firewalls under attack
Why this verdict
- Zero friction on the attack surface: UDP 500/4500 is open to the internet *by design* on any IKEv2 VPN-enabled Firebox. This is not an accidentally exposed management port — it is the product's intended function. 117,490 devices were confirmed exposed at disclosure.
- Pre-authentication, single-packet RCE: The attack requires no credentials, no user interaction, and no prior session. A single crafted UDP packet triggers the out-of-bounds write. This is the lowest-friction remote attack vector possible.
- Active exploitation with ransomware confirmation: CISA KEV-listed on day zero. Ransomware campaigns confirmed September 2026. Known attacker IPs documented. This is not theoretical — it is being used to compromise organizations right now.
- No meaningful friction in the chain: IKEv2 must be configured, but this is the default/standard VPN protocol for WatchGuard deployments. The only devices NOT vulnerable are those with no VPN configured or those using only static BOVPN peers — a small minority.
- Role multiplier: WatchGuard Firebox is *canonically* a network edge appliance — 100% of its installed base occupies the high-value perimeter role by definition. Compromise yields full network traffic visibility, credential harvesting, and an unimpeded pivot point into the internal network. The blast radius is network-scale to domain-scale: attackers demonstrated credential theft → lateral movement → ransomware deployment. This is a textbook high-value-role CRITICAL floor case.
Why not higher?
There is no severity above CRITICAL. A 9.8 is the maximum practical score for this vector. The only reason the CVSS 4.0 vendor score is 9.3 rather than 10.0 is the Scope is Unchanged (no cross-component impact in the CVSS model), but the real-world blast radius far exceeds what the formal score captures.
Why not lower?
Downgrading this vulnerability would require evidence that the attack surface is not reachable, that exploitation is unreliable, or that the affected component is not in a high-value role. None of these conditions hold. The attack surface is internet-facing by design, exploitation is confirmed reliable in the wild by multiple threat actors including ransomware operators, and the affected component is literally the network perimeter firewall. The 117K+ exposed device count and confirmed ransomware campaigns eliminate any argument for downgrade.
Crowdsourced verification payload.
Run this script on any Linux/macOS workstation with network access to your WatchGuard Firebox management interface. It queries the Firebox's Fireware version via the web management API and compares against known vulnerable ranges. Usage: bash check_cve_2025_14733.sh <FIREBOX_IP_OR_HOSTNAME>. Requires curl and network access to the Firebox management port (default TCP 8080 or 4117). No authentication required for version detection.
#!/usr/bin/env bash
# CVE-2025-14733 WatchGuard Firebox Version Checker
# Checks if a WatchGuard Firebox is running a vulnerable Fireware OS version.
# Usage: bash check_cve_2025_14733.sh <FIREBOX_IP>
# Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN
set -euo pipefail
if [ $# -lt 1 ]; then
echo "Usage: $0 <FIREBOX_IP_OR_HOSTNAME>"
exit 2
fi
TARGET="$1"
TIMEOUT=10
# Attempt to grab version from the Firebox web UI login page
VERSION_RAW=$(curl -sk --connect-timeout "$TIMEOUT" \
"https://${TARGET}:8080/" 2>/dev/null \
| grep -oP 'Fireware[\s_]*(v|OS\s*v?)?\K[0-9]+\.[0-9]+\.[0-9]+[_a-zA-Z0-9]*' \
|| true)
# Fallback: try port 4117
if [ -z "$VERSION_RAW" ]; then
VERSION_RAW=$(curl -sk --connect-timeout "$TIMEOUT" \
"https://${TARGET}:4117/" 2>/dev/null \
| grep -oP 'Fireware[\s_]*(v|OS\s*v?)?\K[0-9]+\.[0-9]+\.[0-9]+[_a-zA-Z0-9]*' \
|| true)
fi
if [ -z "$VERSION_RAW" ]; then
echo "UNKNOWN - Could not detect Fireware version on ${TARGET}."
echo "Verify the target is a WatchGuard Firebox and management ports (8080/4117) are reachable."
echo "Manual check: log into Firebox System Manager and note the Fireware OS version."
exit 2
fi
echo "Detected Fireware version: ${VERSION_RAW}"
# Extract major.minor.patch
MAJOR=$(echo "$VERSION_RAW" | cut -d. -f1)
MINOR=$(echo "$VERSION_RAW" | cut -d. -f2)
PATCH=$(echo "$VERSION_RAW" | cut -d. -f3 | sed 's/[^0-9].*//')
# Version comparison logic
# Vulnerable: 11.10.2 - 11.12.4 (EOL, no patch)
# 12.0.0 - 12.11.5
# 2025.1.0 - 2025.1.3
# Patched: >= 12.11.6, >= 12.5.15 (T15/T35), >= 2025.1.4
VULNERABLE=false
if [ "$MAJOR" -eq 11 ]; then
echo "WARNING: Fireware 11.x is END-OF-LIFE with no available patch."
VULNERABLE=true
elif [ "$MAJOR" -eq 12 ]; then
if [ "$MINOR" -lt 11 ]; then
VULNERABLE=true
elif [ "$MINOR" -eq 11 ] && [ "$PATCH" -le 5 ]; then
VULNERABLE=true
elif [ "$MINOR" -eq 5 ] && [ "$PATCH" -le 14 ]; then
# T15/T35 12.5.x branch
VULNERABLE=true
fi
elif [ "$MAJOR" -eq 2025 ]; then
if [ "$MINOR" -eq 1 ] && [ "$PATCH" -le 3 ]; then
VULNERABLE=true
fi
fi
if [ "$VULNERABLE" = true ]; then
echo "VULNERABLE - Fireware ${VERSION_RAW} is affected by CVE-2025-14733."
echo "Action: Upgrade immediately to 2025.1.4, 12.11.6, or 12.5.15 (T15/T35)."
if [ "$MAJOR" -eq 11 ]; then
echo "CRITICAL: Version 11.x is EOL. No patch available. Replace hardware."
fi
exit 1
else
echo "PATCHED - Fireware ${VERSION_RAW} is not affected by CVE-2025-14733."
exit 0
fi