← Back to Feed CACHED · 2026-10-08 11:34:35 · CACHE_KEY CVE-2025-14733
CVE-2025-14733 · CWE-787 · Disclosed 2025-12-19

WatchGuard Fireware OS iked IKEv2 Pre-Authentication Out-of-Bounds Write RCE

ASSESSED — NOISGATE
Vendor
—
—
—
Reassessed
—
—
—
Verdict: —
Do you agree?
01 · The Real Story

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.

"Unauthenticated RCE on 117K internet-facing firewalls, actively weaponized in ransomware campaigns."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Identify exposed Firebox appliances

Attacker scans the internet for hosts responding on UDP 500 with WatchGuard IKEv2 fingerprints. Shodan, Censys, FOFA, and custom scanning infrastructure all fingerprint these devices trivially. At disclosure, 117,490+ were found; ~9,000 remain unpatched. The GitHub scanner tool machevalia/CVE-2025-14733 automates version detection via standard IKEv2 negotiation.
Conditions required:
  • Internet access and a scanner
Where this breaks in practice:
  • None — UDP 500 is open by design on any IKEv2 VPN endpoint
Detection/coverage: Shadowserver, Shodan, and Censys all index WatchGuard appliances. GreyNoise tags for WatchGuard scanning activity exist. Defenders can check their own exposure via shodan search 'WatchGuard' port:500.
STEP 02

Send crafted IKEv2 IKE_AUTH with oversized CERT payload

Attacker sends a specially crafted IKEv2 packet to UDP 500 or 4500 containing a certificate chain payload exceeding 2,000 bytes (normal is <500 bytes). The 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.
Conditions required:
  • Target has IKEv2 VPN configured (Mobile User VPN or BOVPN with dynamic peers)
  • Network path to UDP 500/4500
Where this breaks in practice:
  • 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
Detection/coverage: Log signature: 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.
STEP 03

Achieve code execution as iked process

The out-of-bounds write corrupts heap metadata, giving the attacker control of execution flow within the 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.
Conditions required:
  • Successful heap corruption from step 2
Where this breaks in practice:
  • Heap layout may vary across Fireware versions, but the broad version range and confirmed in-the-wild exploitation indicate reliable weaponization
Detection/coverage: Indicator: iked process crashes, hangs, or unexpected restarts. Fault reports in device diagnostic logs. Monitor for unexpected process behavior via WatchGuard Dimension or syslog forwarding.
STEP 04

Harvest credentials and configuration

With code execution on the Firebox, the attacker extracts stored VPN pre-shared keys, local admin password hashes, and any cached Active Directory credentials used for VPN authentication. The appliance configuration — including network topology, firewall rules, and trust relationships — is also exfiltrated. Confirmed post-exploitation behavior includes outbound connections to known C2 IPs (45.95.19.50, 51.15.17.89, 172.93.107.67, 199.247.7.82, 38.252.8.14, 94.249.197.106).
Conditions required:
  • Code execution from step 3
Where this breaks in practice:
  • None — credentials are stored on the device by design
Detection/coverage: Monitor for outbound connections from the Firebox management interface to the published IOC IPs. Alert on configuration export or credential database access outside of scheduled backup windows.
STEP 05

Pivot into internal network and deploy ransomware

The compromised Firebox sits at the network boundary with routed access to all internal subnets. The attacker uses harvested credentials and the appliance's trusted network position to move laterally into the internal environment. Confirmed ransomware campaign playbooks proceed through internal reconnaissance using the Firebox's network visibility, followed by ransomware deployment via legitimate administrative tools. The attacker effectively bypasses all perimeter security because *they are the perimeter*.
Conditions required:
  • Internal network reachable from Firebox (always true by design)
  • Harvested credentials from step 4
Where this breaks in practice:
  • Internal segmentation, EDR, and identity monitoring may slow lateral movement, but the initial foothold is already inside the perimeter
Detection/coverage: EDR and NDR solutions monitoring east-west traffic. Anomalous authentication from firewall management IPs to internal resources. SIEM correlation of Firebox IOCs with internal authentication events.
03 · Compensating Control

1
CRITICAL 9.8→IGNORE 0.0
SEVERITY REDUCED
Patch immediately to fixed Fireware version — This is the only complete remediation. Upgrade to Fireware OS 2025.1.4, 12.11.6, 12.5.15 (T15/T35), or 12.3.1_Update4 (FIPS). For 11.x EOL devices, there is no patch — plan hardware replacement. Per the noisgate mitigation SLA for CRITICAL, deploy within 3 days. Given active ransomware exploitation, treat this as an emergency change — hours, not days.
2
CRITICAL 9.8→IGNORE 0.0
SEVERITY REDUCED
Disable IKEv2 VPN if not business-critical — If the Firebox is not actively serving IKEv2 Mobile User VPN or dynamic-peer BOVPN, disable IKEv2 entirely to remove the attack surface. Note: static-peer BOVPN configurations are not affected per WatchGuard's advisory. This is a valid interim control if patching requires a maintenance window. Deploy within 3 days per noisgate mitigation SLA.
3
CRITICAL 9.8→MEDIUM 5.5
SEVERITY REDUCED
Restrict UDP 500/4500 source IPs via upstream ACL — If your VPN user population connects from known IP ranges or corporate egress points, apply an upstream ACL (ISP, cloud firewall, or border router) to restrict UDP 500/4500 to only those source ranges. This dramatically reduces the attack surface from 'internet-wide' to 'known ranges only'. Not viable for road-warrior VPN populations. Deploy within 3 days.
4
CRITICAL 9.8→CRITICAL 9.0
Block known attacker IPs at perimeter — Add the published IOC IPs (45.95.19.50, 51.15.17.89, 172.93.107.67, 199.247.7.82, 38.252.8.14, 94.249.197.106) to your perimeter block list. This stops known actors but does not protect against new infrastructure. Deploy immediately as a supplementary control.
5
CRITICAL 9.8→HIGH 7.0
SEVERITY REDUCED
Rotate all Firebox-stored secrets post-patch — After patching, assume compromise of any device that was exposed while vulnerable. Rotate all VPN pre-shared keys, local admin passwords, and any AD/LDAP credentials configured on the Firebox. WatchGuard's KB provides guidance for compromised device recovery. Complete within 7 days of patching.
6
CRITICAL 9.8→CRITICAL 9.0
Monitor for IOCs and anomalous Firebox behavior — Forward Firebox logs to SIEM and alert on: certificate chains exceeding 8 entries, IKE_AUTH payloads >2000 bytes, iked crashes/hangs, outbound connections to published C2 IPs, and unexpected configuration exports. This does not prevent exploitation but enables rapid detection of compromise.
What doesn't work
  • 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.
04 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationConfirmed 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 availabilityScanner 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 score0.2651 (26.51%) — top quartile, indicating significant predicted exploitation probability. Consistent with confirmed active exploitation.
CISA KEV statusListed 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 vectorCVSS: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 versionsFireware 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 versions2025.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 dataShadowserver/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 dateDecember 19, 2025. Coordinated disclosure by WatchGuard with simultaneous CISA KEV listing, indicating pre-disclosure knowledge of exploitation.
Discovery creditWatchGuard internal discovery. Advisory ID: WGSA-2025-00027. Horizon3.ai published independent technical analysis. No external researcher credited.

Sources.

  1. WatchGuard PSIRT Advisory WGSA-2025-00027
  2. CISA KEV Catalog Addition (Dec 19, 2025)
  3. BleepingComputer — WatchGuard RCE flaw exploited in ransomware attacks
  4. Horizon3.ai Technical Analysis
  5. Cyberwarzone — 117,490+ Exposed Firewalls
  6. GitHub — machevalia/CVE-2025-14733 Scanner Tool
  7. SOCPrime — CVE-2025-14733 Detection & Analysis
  8. Help Net Security — WatchGuard Firebox firewalls under attack
05 · The Call

Final Verdict
= UNCHANGED to CRITICAL (9.8/10)

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.

06 · Verification

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.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/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