← Back to Feed CACHED · 2026-08-18 20:41:51 · CACHE_KEY CVE-2026-33824
CVE-2026-33824 · CWE-415 · Disclosed 2026-04-14

Double free in Windows IKE Extension

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

An unlocked blast door on every Windows VPN gateway, and the worm is already crawling through

CVE-2026-33824 is a double-free memory corruption vulnerability in ikeext.dll, the Windows IKE Extension responsible for IKEv2 negotiation used by IPsec VPNs, Always On VPN, DirectAccess, and site-to-site tunnels. During IKEv2 fragment reassembly, IkeReinjectReassembledPacket() performs a shallow copy of a heap-allocated blob pointer. When the work item is destroyed via IkeDestroyPacketContext, the allocation is freed once; it is freed again when the MMSA is cleaned up through IkeCleanupMMNegotiation. An unauthenticated attacker triggers this by sending a crafted IKE_SA_INIT (with Microsoft Security Realm Vendor ID) followed by fragmented IKE_AUTH payloads to UDP port 500 or 4500. All supported Windows 10 (1607+), Windows 11, and Windows Server 2016–2025 are affected. The April 2026 Patch Tuesday updates fix the issue.

Microsoft's CRITICAL / 9.8 rating is accurate and, if anything, undersells the operational urgency. The CVSS vector — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — perfectly describes the attack: zero auth, zero interaction, low complexity, full impact. ZDI explicitly flagged this as wormable. CISA added it to the KEV catalog, EPSS sits at the 55th percentile (0.5585), and a public PoC (EpSiLoNPoInTIkEv2.cpp) has been circulating since at least mid-2026. There is no friction to discount here — this is the real deal.

"Wormable, KEV-listed, unauthenticated RCE on every Windows box running IKE. Patch now."
02 · The Attack Path

5 steps from start to impact.

STEP 01

Identify IKE listeners

Attacker scans for UDP port 500 and 4500 responders across the internet or an internal network segment. Any Windows host with IKEEXT service running (default on RRAS, Always On VPN, DirectAccess servers, and many domain-joined machines) will respond to IKE_SA_INIT probes. Shodan and Censys queries for port:500 return millions of IKE endpoints globally, a meaningful share of which are Windows.
Conditions required:
  • Target host has IKEEXT service running and listening on UDP 500 or 4500
  • Network path to target port is open (no firewall blocking UDP 500/4500)
Where this breaks in practice:
  • Well-configured perimeter firewalls restrict UDP 500/4500 to known VPN peer IPs only
  • Hosts not configured for VPN may have IKEEXT in manual/demand-start mode
Detection/coverage: Shodan/Censys scans for UDP 500; GreyNoise tags for IKE probing; firewall logs showing IKE_SA_INIT from untrusted sources
STEP 02

Send crafted IKE_SA_INIT with Microsoft Vendor ID

The attacker sends an IKE_SA_INIT message containing the Microsoft Security Realm Vendor ID payload. This establishes an IKE Security Association and puts the server into a state expecting IKE_AUTH. No credentials are needed — IKEv2 negotiation begins unauthenticated at this stage. The vendor ID ensures the Microsoft-specific code path in ikeext.dll is engaged.
Conditions required:
  • Ability to send crafted UDP packets to target
Where this breaks in practice:
  • None — standard IKEv2 negotiation, no authentication gate
Detection/coverage: IDS signatures for anomalous IKE_SA_INIT with Microsoft vendor ID from non-peer IPs; Snort SIDs released by Talos for this CVE
STEP 03

Deliver fragmented IKE_AUTH triggering double free

The attacker sends a series of Encrypted Fragment (SKF) payloads in an IKE_AUTH message designed to trigger the vulnerable reassembly path in IkeReinjectReassembledPacket(). The shallow-copied blob pointer creates an alias. When the packet context is destroyed, the first free occurs. The subsequent MMSA cleanup via IkeCleanupMMNegotiation frees the same allocation again, corrupting the heap.
Conditions required:
  • Target entered IKE_SA_INIT negotiation state from step 2
Where this breaks in practice:
  • Heap layout must be groomed for reliable code execution (PoC exists but reliability may vary across OS builds)
  • ASLR and CFG on modern Windows add exploit development complexity
Detection/coverage: Network IDS/IPS signatures matching malformed SKF fragment sequences; Microsoft Defender Network Protection rules
STEP 04

Achieve SYSTEM-level code execution

Successful heap corruption gives the attacker control of execution flow within the IKEEXT service, which runs as LocalSystem. This grants full SYSTEM privileges on the target host. On a VPN gateway or RRAS server, this is typically a domain-joined machine with network access to internal resources. On a domain controller (which may run IKE for IPsec policy enforcement), this is immediate domain compromise.
Conditions required:
  • Successful heap grooming and exploitation from step 3
Where this breaks in practice:
  • Windows exploit mitigations (ASLR, CFG, heap hardening) reduce reliability but do not prevent exploitation — the PoC demonstrates bypass
Detection/coverage: EDR telemetry for anomalous child processes of svchost.exe hosting IKEEXT; crash dumps in IKEEXT service; Windows Event ID 7034 (service crash)
STEP 05

Lateral movement or worm propagation

With SYSTEM on one host, the attacker can harvest credentials, pivot to internal targets, or — because the vulnerability is wormable — automatically scan for and exploit other Windows hosts with IKE enabled on the internal network. Internal hosts are far less likely to have UDP 500/4500 firewalled, making lateral propagation significantly easier than the initial perimeter breach.
Conditions required:
  • SYSTEM access on compromised host
  • Other Windows hosts on the network with IKEEXT service reachable
Where this breaks in practice:
  • Microsegmentation or host-based firewalls blocking inter-host UDP 500/4500
  • Network detection of lateral IKE scanning
Detection/coverage: GreyNoise/internal honeypots for unexpected IKE traffic between hosts; NDR alerts for lateral UDP 500/4500 scanning patterns
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationConfirmed. CISA added CVE-2026-33824 to the Known Exploited Vulnerabilities catalog. ZDI flagged the bug as wormable. Reports indicate a Chinese-speaking adversary group has conducted manual exploitation operations.
Proof of ConceptPublic. EpSiLoNPoInTIkEv2.cpp circulating in community PoC repos (e.g., SecureWithUmer/CVE-2026-PoCs on GitHub). Originally analyzed by Richard Chen and Lucas Miller (TrendAI Research Team).
EPSS Score0.5585 — indicates a significant probability of exploitation activity, well above the median for all CVEs.
KEV StatusListed. Added to CISA KEV catalog (July/August 2026). Ransomware use: *unknown* per CISA.
CVSS VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H (9.8) — Full-scope unauthenticated network RCE with no user interaction. Every metric is worst-case except Scope (Unchanged).
Affected VersionsAll supported Windows: Windows 10 (1607, 1809, 22H2), Windows 11 (23H2, 24H2, 25H2), Windows Server 2016, 2019, 2022, 2025. Any system with IKEEXT service reachable.
Fixed VersionsApril 2026 Patch Tuesday cumulative updates: Win10 22H2 → KB5082200, Win11 25H2/24H2 → KB5083769, Win11 23H2 → KB5082052, Server 2025 → KB5082063, plus corresponding KBs for Server 2016/2019/2022.
Scanning / ExposureIKE (UDP 500) is a widely exposed service on VPN gateways, RRAS servers, and Always On VPN endpoints. Any internet-facing Windows VPN gateway is a direct target. Internal hosts with IKEEXT in demand-start mode are reachable post-initial-compromise for worm propagation.
Disclosure Date2026-04-14 (Microsoft April 2026 Patch Tuesday)
Reporting ResearcherWARP & MORSE team (Microsoft internal discovery); independent analysis by Richard Chen and Lucas Miller (TrendAI Research / Zero Day Initiative)
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to CRITICAL (9.8/10)

The single most decisive factor is the wormable, unauthenticated, network-level RCE against a service that runs as SYSTEM on every Windows VPN gateway in the fleet — a canonical network-edge and infrastructure role where successful exploitation yields immediate domain-adjacent access. Active KEV listing and a public PoC confirm this is not theoretical; the attack path has zero authentication gates, zero user interaction requirements, and the blast radius extends from a single VPN gateway to fleet-wide propagation.

HIGH Vulnerability severity and exploitability assessment
HIGH KEV listing and active exploitation status
MEDIUM Breadth of real-world worm propagation observed

Why this verdict

  • Zero friction in the kill chain: The attack is unauthenticated, requires no user interaction, uses low-complexity network packets to UDP 500/4500. There are no prerequisite compromises — the attacker goes from internet to SYSTEM in a single chain.
  • Role multiplier: The affected component (IKEEXT/IKEv2) is canonically deployed on network-edge VPN gateways (RRAS, Always On VPN, DirectAccess) — these are internet-facing by definition. On domain controllers running IPsec transport-mode policies, exploitation yields immediate DA-equivalent access. On Hyper-V hosts using IPsec for live migration, compromise equals hypervisor takeover. ≥10% of Windows Server IKEEXT installations occupy a high-value network-edge or DC role. The blast radius is fleet-scale via worm propagation. Verdict floor: CRITICAL.
  • Wormable + KEV + public PoC: ZDI explicitly labeled this wormable. CISA KEV-listed it. A working PoC (EpSiLoNPoInTIkEv2.cpp) is public. EPSS at 0.5585 confirms high exploitation probability. This combination eliminates any theoretical-only discount.
  • Universal affected population: Every supported Windows version (10, 11, Server 2016–2025) ships with ikeext.dll. The service starts on demand when any IPsec or VPN policy is configured — which is standard for enterprise networks.

Why not higher?

The CVSS 9.8 is already the practical ceiling for a Scope:Unchanged vulnerability. A 10.0 would require Scope:Changed. The vendor score is the maximum applicable score and there is no basis to exceed it.

Why not lower?

Downgrading would require identifying meaningful friction or a narrow affected population — neither exists here. The attack is unauthenticated and network-level, the affected component is a canonical network-edge service, the bug is wormable, it is KEV-listed with active exploitation, and a public PoC is available. Any single one of these factors would anchor the verdict at HIGH; together they cement CRITICAL. The role multiplier floor alone (network-edge VPN appliance, domain controllers with IPsec) prevents any downgrade below CRITICAL.

05 · Compensating Control

What to do — in priority order.

  1. Block UDP 500 and 4500 from untrusted sources at the perimeter firewall immediately — The exploit requires sending crafted IKE packets to these ports. Restrict inbound UDP 500/4500 to an explicit allowlist of known VPN peer IP addresses. This eliminates the unauthenticated internet attack vector. Deploy within the noisgate mitigation SLA of ≤ 3 days for CRITICAL findings.
  2. Set IKEEXT service to Disabled on hosts not using IPsec or VPN — Many Windows workstations and servers have IKEEXT in demand-start mode but never actually use IPsec. Disabling the service via GPO (sc config IKEEXT start= disabled) eliminates the attack surface entirely on those hosts. Audit which hosts actually need IKE before disabling. Deploy within 3 days.
  3. Deploy IDS/IPS signatures for CVE-2026-33824 — Snort/Suricata rules from Talos and ET Open cover malformed IKE_SA_INIT and SKF fragment sequences. Deploy these on perimeter and internal NDR sensors to detect exploitation attempts and worm propagation. Enable in blocking mode on inline IPS where possible.
  4. Enable host-based firewall rules blocking inter-host UDP 500/4500 — To prevent internal worm propagation, deploy Windows Firewall rules via GPO that restrict UDP 500/4500 to only the designated VPN gateway IPs. This breaks the worm's lateral movement path even if one host is compromised.
  5. Apply April 2026 cumulative updates to all affected systems — This is the definitive fix. Prioritize VPN gateways, RRAS servers, domain controllers, and Hyper-V hosts. Use the noisgate remediation SLA of ≤ 90 days, but given KEV status, target internet-facing systems within hours to days.
What doesn't work
  • MFA on the VPN — MFA protects VPN *authentication* but CVE-2026-33824 is exploited during IKEv2 *negotiation* before any authentication occurs. MFA is irrelevant.
  • WAF or reverse proxy — This is a UDP-based attack on ports 500/4500, not HTTP traffic. Web application firewalls provide zero coverage.
  • EDR alone — While EDR may detect post-exploitation behavior, the initial compromise occurs in a kernel-adjacent service (SYSTEM-level svchost) via memory corruption. EDR will not block the network packet that triggers the double free. EDR is a detection layer, not a prevention control for this CVE.
  • Network-level IPsec encryption — Ironically, using IPsec *requires* the vulnerable IKE service to be running and reachable. IPsec does not protect against attacks on the IKE negotiation itself.
06 · Verification

Crowdsourced verification payload.

Run this script on each target Windows host as Administrator. It checks whether the IKEEXT service is present and running, and whether the installed OS build includes the April 2026 fix. Example: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-33824.ps1. Requires local admin privileges.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#Requires -RunAsAdministrator
<# Check-CVE-2026-33824.ps1
   Checks whether the host is vulnerable to CVE-2026-33824 (Windows IKE Double Free)
   Outputs: VULNERABLE / PATCHED / UNKNOWN
#>

$ErrorActionPreference = 'Stop'

# Patched KB list (April 2026 cumulative updates)
$patchedKBs = @('KB5082200','KB5083769','KB5082052','KB5082063','KB5082123','KB5082198')

# Check if IKEEXT service exists and its status
try {
    $svc = Get-Service -Name 'IKEEXT' -ErrorAction Stop
    $svcStatus = $svc.Status
    $svcStart = $svc.StartType
} catch {
    Write-Host '[*] IKEEXT service not found on this host.'
    Write-Host 'UNKNOWN - IKEEXT service absent; host may be non-standard build.'
    exit 2
}

Write-Host "[*] IKEEXT service found: Status=$svcStatus, StartType=$svcStart"

# Check installed hotfixes for patched KBs
$installedKBs = Get-HotFix | Select-Object -ExpandProperty HotFixID
$matched = $patchedKBs | Where-Object { $installedKBs -contains $_ }

if ($matched.Count -gt 0) {
    Write-Host "[+] Patched KB detected: $($matched -join ', ')"
    Write-Host 'PATCHED'
    exit 0
}

# Fallback: check OS build number (April 2026 builds)
$osBuild = [System.Environment]::OSVersion.Version
$buildRevision = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR
$buildStr = "$($osBuild.Build).$buildRevision"
Write-Host "[*] OS Build: $buildStr"

# Known patched build thresholds (build.revision)
$patchedBuilds = @{
    '19045' = 7184   # Win10 22H2
    '22631' = 6936   # Win11 23H2
    '26100' = 8246   # Win11 24H2 / Server 2025
    '26200' = 8246   # Win11 25H2
}

$buildKey = $osBuild.Build.ToString()
if ($patchedBuilds.ContainsKey($buildKey)) {
    if ($buildRevision -ge $patchedBuilds[$buildKey]) {
        Write-Host "[+] OS build revision $buildRevision >= patched threshold $($patchedBuilds[$buildKey])"
        Write-Host 'PATCHED'
        exit 0
    } else {
        Write-Host "[-] OS build revision $buildRevision < patched threshold $($patchedBuilds[$buildKey])"
    }
}

# If IKEEXT exists and no patch detected
if ($svcStart -eq 'Disabled') {
    Write-Host '[!] IKEEXT service is Disabled — attack surface removed but host is unpatched.'
    Write-Host 'VULNERABLE (mitigated - service disabled)'
    exit 1
}

Write-Host '[-] No patched KB or build revision found. IKEEXT service is present and not disabled.'
Write-Host 'VULNERABLE'
exit 1
07 · Bottom Line

If you remember one thing.

TL;DR
This is a drop-everything vulnerability. CVE-2026-33824 is wormable, unauthenticated, KEV-listed, and has a public PoC — it is the kind of bug that ends careers when it's ignored. Monday morning: confirm that your perimeter firewalls restrict UDP 500/4500 to known VPN peer IPs only (this is your noisgate mitigation SLA — ≤ 3 days for CRITICAL). Disable the IKEEXT service via GPO on every host that does not actively use IPsec or VPN. Deploy IDS/IPS signatures in blocking mode. Then begin emergency patching: apply the April 2026 cumulative updates to all internet-facing VPN gateways, RRAS servers, and domain controllers within hours, and complete fleet-wide remediation within the noisgate remediation SLA of 90 days. Given KEV status and active exploitation, treat the mitigation deadline as immediate — do not wait 3 days if you can act today. Verify patching with the provided PowerShell script across your fleet.

Sources

  1. ZDI Technical Analysis — CVE-2026-33824 IKEv2 RCE
  2. Security Boulevard — Windows IKE RCE Advisory
  3. Integrity360 Threat Advisory — CVE-2026-33824
  4. CrowdStrike April 2026 Patch Tuesday Analysis
  5. CISA Known Exploited Vulnerabilities Catalog
  6. Tenable — April 2026 Patch Tuesday (163 CVEs)
  7. SentinelOne Vulnerability Database — CVE-2026-33824
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.