CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-33824
9.80.07%

CVE-2026-33824: Windows Internet Key Exchange (IKE) Service Extensions Remote Code Execution Vulnerability

Alon Barad
Alon Barad
Software Engineer

Apr 16, 2026·6 min read·9 visits

Active Exploitation

Executive Summary (TL;DR)

CVE-2026-33824 (BlueHammer) is an actively exploited, zero-click remote code execution vulnerability in the Windows IKE service (IKEEXT). It leverages a double-free condition during SA_INIT packet parsing to bypass mitigations and execute arbitrary code as SYSTEM.

A double-free vulnerability in the Windows IKE Extension service allows unauthenticated remote attackers to achieve arbitrary code execution with SYSTEM privileges by sending malformed IKEv2 payloads.

Vulnerability Overview

CVE-2026-33824, publicly referred to as BlueHammer, is a critical remote code execution vulnerability located in the Windows Internet Key Exchange (IKE) service extension (IKEEXT.dll). The IKEEXT service facilitates IPsec negotiations and is responsible for parsing inbound IKEv1 and IKEv2 packets. The service listens by default on UDP ports 500 and 4500 on systems configured for VPN or IPsec connectivity.

The vulnerability is classified as a double-free memory corruption issue (CWE-415). It occurs during the processing of specific IKEv2 payloads, specifically when the service mishandles the allocation lifecycle of parsed payload objects. An unauthenticated attacker with network reachability to the exposed UDP ports can trigger this flaw without prior authorization.

Successful exploitation results in arbitrary code execution within the context of the IKEEXT service. Because this service operates with Local System privileges, exploitation guarantees complete system compromise. The vulnerability requires no user interaction, making it highly suitable for zero-click exploitation and lateral movement.

Root Cause Analysis

The fundamental flaw resides within the ikeext!IKEEXT::ProcessIKEPayload function. This function is tasked with parsing the structure and content of IKEv2 payloads, verifying payload lengths, and allocating corresponding internal objects for subsequent state machine processing. The double-free condition is triggered by a logic error in how the function handles malformed nested payloads.

When processing a sequence of SA_INIT packets containing a structurally invalid combination of Notify and Proposal payloads, the parsing logic encounters an error state. The error handling branch attempts to release the memory allocated for the current payload object. However, a failure to appropriately nullify the pointer or update the payload state causes a subsequent cleanup routine to free the exact same memory address a second time.

This duplicate call to the heap allocator's free function corrupts the internal linked lists utilized by the Windows heap manager. Specifically, freeing an already unallocated chunk allows an attacker to manipulate the Next pointer of the free list structure. This manipulation establishes the necessary conditions for an arbitrary memory write primitive when subsequent allocations occur.

Code Analysis and Memory Corruption

The vulnerability stems from inadequate pointer lifecycle management in C++. While the exact source code is proprietary, reverse engineering of the unpatched IKEEXT.dll binary reveals a pattern where an allocated IKE_PAYLOAD_CONTEXT struct is passed to a secondary validation function. If validation fails, the secondary function frees the structure but does not zero out the original pointer held by the caller.

// Conceptual representation of the vulnerable code path
IKE_PAYLOAD_CONTEXT* pContext = AllocatePayloadContext(size);
if (!ParseProposalPayload(packetData, pContext)) {
    // ParseProposalPayload frees pContext on error but caller maintains the dangling pointer
    LogError("Failed to parse proposal.");
}
 
// Later in the cleanup routine...
if (pContext != NULL) {
    HeapFree(GetProcessHeap(), 0, pContext); // Double Free occurs here
}

In the patched versions (Build 10.0.22631.6936+ and equivalents), Microsoft addressed this by implementing robust pointer invalidation. The patch ensures that whenever a payload context is deallocated during early validation failures, all references to that context are immediately set to NULL.

// Conceptual representation of the patched code path
IKE_PAYLOAD_CONTEXT* pContext = AllocatePayloadContext(size);
if (!ParseProposalPayload(packetData, &pContext)) {
    // pContext is correctly nullified via pointer-to-pointer or explicit zeroing
    LogError("Failed to parse proposal.");
}
 
// Safe cleanup
if (pContext != NULL) {
    HeapFree(GetProcessHeap(), 0, pContext);
}

Exploitation Methodology (BlueHammer)

The BlueHammer exploit chain demonstrates a high degree of maturity, converting a standard double-free condition into a reliable remote code execution vector. The attack sequence initiates with a standard IKEv2 SA_INIT message, followed rapidly by three specialized packets containing the malformed Notify and Proposal components. This precise 4-packet sequence guarantees the target code path is exercised.

To achieve reliability, the exploit requires precise heap grooming. The attacker initiates approximately 16 parallel UDP flows to the target. These parallel connections force the IKEEXT service to perform numerous predictable heap allocations and deallocations. This process, known as heap spraying, places the target memory chunk into a highly controlled state on the heap freelist before the double-free is triggered.

Once the double-free corrupts the freelist, the exploit leverages the resulting arbitrary write primitive to bypass modern exploit mitigations. Control Flow Guard (CFG) is circumvented through targeted pointer overwrites within unprotected data structures, while Control-flow Enforcement Technology (CET) is bypassed during the specific pivot to the Return-Oriented Programming (ROP) chain.

The final ROP chain modifies memory protections to allocate an executable segment, copies the secondary payload (typically a compiled PE file or shellcode), and redirects execution flow. Operating within the Local System context, this payload typically establishes a reverse shell or deploys further persistence mechanisms without triggering standard user-land behavioral alerts.

Impact Assessment

The security impact of CVE-2026-33824 is complete system compromise. An attacker successfully exploiting this vulnerability gains NT AUTHORITY\SYSTEM privileges. This level of access permits the extraction of sensitive credential material (such as LSASS memory dumps), the modification of system configurations, the termination of endpoint detection and response (EDR) agents, and the installation of persistent rootkits.

The unauthenticated, network-facing nature of the vulnerability presents severe risks for enterprise environments. Systems exposing UDP ports 500 and 4500 to the public internet, primarily VPN gateways and DirectAccess servers, are immediately susceptible. The lack of required user interaction means exploitation can be entirely automated.

Active exploitation in the wild was confirmed prior to the availability of official vendor patches, cementing its status as an exploited zero-day. Security vendors observed threat actors utilizing BlueHammer to establish initial footholds in enterprise networks, rapidly transitioning to lateral movement utilizing the compromised boundary systems.

Remediation and Defense

The primary and only definitive remediation for CVE-2026-33824 is applying the April 14, 2026, Cumulative Updates provided by Microsoft. Administrators must prioritize patching internet-facing Windows servers acting as VPN or IPsec endpoints. Internal endpoints should be patched subsequently, as the vulnerability remains viable for internal lateral movement.

For environments where immediate patching is unfeasible, temporary mitigations can sever the attack surface. Disabling the IKEEXT ("IKE and AuthIP IPsec Keying Modules") service entirely eliminates the vulnerability. Alternatively, network perimeters can be configured to block UDP ports 500 and 4500, effectively shielding the vulnerable service from external network ingress.

Network detection strategies should focus on anomalous IKE traffic patterns. Intrusion Detection Systems (IDS) can be tailored to identify the specific malformed Notify and Proposal payload structures used by BlueHammer. Additionally, monitoring for excessive SA_INIT requests originating from a single IP address without corresponding handshake completions provides a reliable indicator of the heap grooming phase.

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
0.07%
Top 79% most exploited

Affected Systems

Windows 11 (22H2, 23H2, 24H2, 25H2, 26H1)Windows 10 (1607, 1809, 21H2, 22H2)Windows Server 2016Windows Server 2019Windows Server 2022Windows Server 2025

Affected Versions Detail

Product
Affected Versions
Fixed Version
Windows 11
Microsoft
22H2, 23H2, 24H2, 25H2, 26H110.0.22631.6936+
Windows 10
Microsoft
1607, 1809, 21H2, 22H210.0.14393.9060+
Windows Server
Microsoft
2016, 2019, 2022, 2025April 2026 Cumulative Update
AttributeDetail
CWE IDCWE-415
Attack VectorNetwork (UDP 500/4500)
CVSS Score9.8
EPSS Score0.00067
ImpactUnauthenticated RCE as SYSTEM
Exploit StatusActive Exploitation

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1068Exploitation for Privilege Escalation
Privilege Escalation
CWE-415
Double Free

The product calls free() twice on the same memory address, potentially leading to modification of unexpected memory locations.

Known Exploits & Detection

GitHubMirror of the original BlueHammer PoC and exploitation analysis.

Vulnerability Timeline

'BlueHammer' exploit code first appears on GitHub as a zero-day.
2026-04-03
Security researchers confirm the exploit is functional on unpatched Windows systems.
2026-04-06
Microsoft officially assigns CVE-2026-33824 and releases patches as part of Patch Tuesday.
2026-04-14
Widespread analysis and reporting by security vendors identify the vulnerability as one of the most significant RCEs of the year.
2026-04-16

References & Sources

  • [1]Microsoft Security Update Guide - CVE-2026-33824
  • [2]CVE Record for CVE-2026-33824
  • [3]CrowdStrike Patch Tuesday Analysis (April 2026)
  • [4]SANS ISC Diary - Microsoft Patch Tuesday April 2026
  • [5]GitHub Exploit Repo (Mirror/PoC)

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.