SecPod
← Back to Blog

CVE-2026-41089: Public PoC, Active Exploit Analysis, and Windows Netlogon Risk

Jun 11, 2026

CVE-2026-41089: Public PoC, Active Exploit Analysis, and Windows Netlogon Risk

June 11, 2026 CRITICAL, CVSS 9.8 Active Exploitation Confirmed Part 2 of 4

A working PoC for CVE-2026-41089 appeared on GitHub within 24 hours of Microsoft's May 12 disclosure. Active exploitation in the wild was confirmed 20 days later. This part covers how the public exploit operates, what in-the-wild activity looks like, and the compounding risk this vulnerability creates across Windows Netlogon and Active Directory environments.

From Patch Tuesday to Public PoC: A 24-Hour Window

Microsoft disclosed CVE-2026-41089 on May 12, 2026, as part of the May Patch Tuesday release covering 118 vulnerabilities. The initial advisory rated exploitation as "less likely." That assessment did not hold.

May 12, 2026

Microsoft releases patch. Aretiq AI performs patch-diff analysis and publishes a detailed write-up within hours of Patch Tuesday release.

May 13, 2026 - Day +1

Public PoC appears on GitHub (0xABCD01/CVE-2026-41089). Python 3.8+, no third-party dependencies, MIT license. Independently, Aretiq AI releases their own enterprise-verified PoC using pyasn1. The 0patch blog publishes micropatch analysis with root cause commentary.

June 1, 2026 - Day +20

Centre for Cybersecurity Belgium (CCB) publicly confirms active exploitation in the wild, singling out CVE-2026-41089 from the May PT advisory for an active exploitation warning. No specific actor or campaign details disclosed at time of writing.

June 10, 2026 - Day +29

Exploitation confirmed ongoing. Microsoft's original "less likely" assessment is now formally obsolete. No public attribution to specific threat actors as of this writing.

The gap between patch release and confirmed exploitation was 20 days. The gap between patch release and a working public PoC was less than 24 hours. For pre-authentication vulnerabilities against domain controllers, these timelines mean the practical patch window is measured in hours, not weeks.

Public PoC: What It Does

Two independent PoC implementations are publicly available. Neither requires special tooling, credentials, or a pre-established foothold. Both target the same root condition: an oversized Username attribute in a crafted CLDAP search request that overflows a 528-byte stack buffer in netlogon.dll.

Prerequisites for a Reliable Crash

Condition Required? Notes
Target is an Active Directory Domain Controller Yes CLDAP response handler only active in DC role
UDP port 389 reachable from attacker Yes No TCP handshake required - any network path to UDP 389 works
Target is unpatched (pre-May 2026 Patch Tuesday) Yes Patched builds do not expose the vulnerable code path
DNS domain name ≥ ~50 characters Conditional Required for reliable crash; short names may not reach overflow threshold
Authentication / credentials None Fully pre-authentication
User interaction on target None Passive exploitation - DC processes the packet automatically

How the PoC Operates - Step by Step

The attack proceeds in four logical stages. The PoC automates all of them in a single command.

Stage What Happens Purpose
1. Liveness probe Sends a well-formed CLDAP ping with a normal-length username to UDP 389 on the target DC Confirms the DC is alive and responding; establishes a baseline before the attack
2. Overflow packet Sends a crafted CLDAP SearchRequest targeting rootDSE with NtVer=0x02000000 and a 130-character username field. The long username forces code execution through the non-EX response path (BuildSamLogonResponse) rather than the safe BuildSamLogonResponseEx path The combined response data - DC information plus domain name plus username field - exceeds 528 bytes, overflowing the stack buffer and tripping the GS cookie check
3. Crash confirmation Waits a configurable delay (~3 seconds), then sends another liveness ping If no response is received, LSASS has crashed. The DC will reboot within ~60 seconds
4. Verification (optional) Checks the target's Application Event Log for Event ID 1000: faulting application lsass.exe, faulting module netlogon.DLL, exception code 0xc0000409 Confirms crash was caused by the overflow, not an unrelated LSASS event

The Forcing Function: BuildSamLogonResponse vs. BuildSamLogonResponseEx

The critical design detail in the exploit is the NtVer field manipulation. The CLDAP DC locator has two response-building code paths:

  • BuildSamLogonResponseEx - the modern path, used for current NtVer values. Bounds-aware.
  • BuildSamLogonResponse - the legacy path, triggered by specific older NtVer values. Uses the vulnerable 528-byte fixed stack buffer without length validation.

The PoC sets NtVer=0x02000000 precisely to force the legacy path. This is not a brute-force overflow - it's a targeted trigger of a specific, known-vulnerable code branch that only activates when the attacker controls the version field of the incoming CLDAP request.

The exploit works because a legacy code path in a 20+ year old protocol still executes in the hot path of every modern Windows Server domain controller. Netlogon's CLDAP handler has been handling these pings since Windows 2000. The 528-byte buffer allocation was never revisited when enterprise domain names grew longer.

PoC Availability Comparison

Source Availability Dependencies Verified
GitHub - 0xABCD01/CVE-2026-41089 Public, MIT license Python 3.8+, stdlib only Community (17 stars, 8 forks as of research date)
Aretiq AI research portal Enterprise-verified download Python 3.8+, pyasn1 Enterprise-grade, includes detailed root cause write-up
0patch blog Public analysis, no full exploit N/A Root cause and micropatch commentary

Active Exploitation in the Wild

Confirmed Activity

The Centre for Cybersecurity Belgium (CCB) confirmed active exploitation on June 1, 2026, 20 days after the patch dropped. The CCB warning cited CVE-2026-41089 specifically out of the 118 vulnerabilities in the May 2026 Patch Tuesday release. As of this writing, the CCB has not publicly disclosed specific attack details, campaign names, IOC sets, or victim sectors from the active exploitation.

The absence of public attribution does not mean low-sophistication attacks. Nation-state and IAB campaigns frequently avoid leaving attributable infrastructure in early exploitation phases, particularly against high-value AD environments where disruption and access are both valuable.

Likely Threat Actor Profiles

No specific APT groups or ransomware operators have been publicly attributed as of June 2, 2026. Based on the vulnerability's characteristics - unauthenticated, pre-auth, DC-targeted, fast PoC availability - the exploitation profile is consistent with three operator categories:

Actor Type Likely Use Case Why This Vulnerability Fits
Initial Access Brokers (IABs) Selling DC access or persistent disruption capability to downstream operators Pre-auth, no credentials needed; fast path to high-value AD environments for resale
Ransomware operators Fast domain takeover: disrupt DC, exploit the window, deploy ransomware via GPO Consistent with "inside-the-perimeter fast path to forest-wide takeover" framing; GPO deployment is ransomware operators' preferred mass-deployment mechanism
Nation-state / espionage actors Persistent access to government and critical infrastructure AD environments CLDAP disruption creates noise that masks simultaneous credential theft; DC access provides long-term persistent foothold

Why DoS-as-Entry-Point Is Underestimated

The reliable exploit outcome today is a crash, not code execution. That framing undersells the operational value to attackers. A repeatable, unauthenticated domain controller kill switch is useful in at least three distinct attack contexts beyond pure disruption:

  • Cover fire: A DC reboot creates a 60-second authentication blackout. Parallel attacks - lateral movement, credential stuffing, token replay - blend into the noise of "the domain is having issues."
  • Persistence testing: Repeatedly crashing a DC forces it through a reboot cycle. If the organization has not patched consistently across all DCs, each reboot cycle is another exploitation opportunity against whichever DC comes online next.
  • Negotiation leverage: Ransomware operators have used demonstrated disruption capability as leverage in extortion scenarios, separate from actual data exfiltration.

Netlogon Attack Surface: Broader Risk Context

CVE-2026-41089 does not exist in isolation. It is the latest in a series of critical vulnerabilities targeting Windows Netlogon - the same service, the same trust position in Active Directory, exploited through different mechanisms.

CVE Year Root Cause Impact Auth Required
CVE-2020-1472 (Zerologon) 2020 Cryptographic flaw - AES-CFB8 IV all-zeros Domain admin privilege escalation None
CVE-2022-38023 2022 Netlogon secure channel integrity bypass NTLM relay, MitM on Netlogon channel None (network position)
CVE-2023-28268 2023 Netlogon RPC authentication bypass Privilege escalation to domain admin None
CVE-2026-41089 2026 Stack buffer overflow - CLDAP response handler DoS (reliable); RCE (theoretical) None

The pattern is consistent: Netlogon is attacked repeatedly because it is unauthenticated-accessible by design (DC locator must work before any authentication exists), and any flaw in it directly affects the highest-privilege component in the environment.

Chaining Potential

CVE-2026-41089 becomes significantly more dangerous as a component of a multi-stage attack chain rather than in isolation. The DoS capability provides operational value as a delivery mechanism for other exploits:

Stage CVE-2026-41089 Role Follow-On Attack
Disruption + cover Crash primary DC to trigger failover to secondary Target secondary DC if it's unpatched or less monitored
Disruption + recon Crash DC and observe which backup authentication systems activate Identify weaker fallback mechanisms (NTLM, legacy Kerberos configs) during failover
RCE (if achieved) + escalation SYSTEM-level code execution in LSASS context DCSync → krbtgt hash → Golden Ticket; GPO deployment across all domain-joined machines
RCE + persistence LSASS access Implant a credential-harvesting module or backdoor into the DC that survives reboots via service installation

Risk Scoring Summary

Dimension Assessment
Exploitability (DoS) Critical - public PoC, no auth, single packet, confirmed in the wild
Exploitability (RCE) Medium - theoretically possible; GS cookie is a practical barrier today
Attack complexity Low - Python script, stdlib only, runs from any host with UDP 389 access
Privilege required None - pre-authentication, no domain account needed
Blast radius (DoS) Entire domain - all authentication dependent on that DC fails for ~60s
Blast radius (RCE) Entire AD forest - krbtgt, GPO, all Tier 0 assets
Detectability (pre-patch) Moderate - crash is logged; the trigger packet is hard to distinguish from benign CLDAP traffic without payload inspection
Patch availability Available - May 12, 2026 Patch Tuesday for all supported versions

Part 3 covers the patch details, IOCs, detection logic, and mitigation guidance for CVE-2026-41089.

SecPod | Prevent Cyberattacks