TTechclick All lessons
Microsoft ยท Active Directory ยท Critical RCE

CVE-2026-41089: How One Netlogon Packet Can Take Down Your Entire AD

CVSS 9.8, no login required, no user click. One crafted RPC packet to a Windows domain controller and the attacker is SYSTEM. Here is what Netlogon is, why this bug matters, how to detect it, and the patch order that will keep you employed.

๐Ÿ“… 2026-05-24 ยท โฑ 16 min read ยท ๐Ÿท 10-question assessment included
๐ŸŽฏ By the end of this lesson, you'll be able to

The TCS office ID-card panel โ€” a story you already know

You work at the TCS Bengaluru office. Every morning when Sneha swipes her ID card on the entry panel, a silent conversation happens. The panel asks the central security system: "is this Sneha, is she still on payroll, what floors can she enter?" The central system answers in milliseconds. Sneha never sees the conversation. It just works โ€” 50,000 times a day, across every door.

Now imagine someone walks up to the panel itself, jams a thin metal pin into a specific slot, and the panel responds by handing them the master key to every door in the building. They did not pretend to be Sneha. They did not steal her card. They just exploited the panel's own firmware. That is CVE-2026-41089. The panel is your domain controller. The silent conversation is Netlogon. The master key is full SYSTEM on every machine your AD touches.

Why this matters โ€” in 10 seconds and in a paycheck

If you are sitting in an interview next week, this is the question. "A CVE dropped this month rated 9.8 against Windows DCs. Tell me what it does, how you would detect it, and what you would patch first." Get the answer wrong and the panel moves on. Get it right and you have separated yourself from every candidate who memorised buzzwords without learning the protocol underneath.

Why does the security industry care so much? Because compromising a domain controller is compromising the domain itself. A DC holds the NTDS.dit credential database, the Kerberos signing key (krbtgt), and the trust relationships with every member server and workstation. One DC down = every server, every desktop, every laptop, every cloud-joined identity, every Exchange mailbox โ€” all yours.

!Why "patch later" is the wrong answer

When ZeroLogon (CVE-2020-1472) was published, public exploit code dropped within 48 hours and organisations that delayed patching for a quarterly maintenance window were hit by Conti, Ryuk, and several Indian-targeted ransomware crews. CVE-2026-41089 had functional exploit code circulating within hours of disclosure on 12 May 2026. The window between disclosure and weaponisation is no longer "weeks." It is one workday.

What Netlogon actually is โ€” the core concept

Netlogon is the Windows Remote Procedure Call (RPC) service that handles three quiet jobs:

Critically, the Netlogon service runs inside lsass.exe on every DC, and lsass.exe runs as NT AUTHORITY\SYSTEM. That is the privilege the bug hands to the attacker. Not Administrator. SYSTEM. On the DC.

SVG 1 โ€” Netlogon's position in an AD network
Shows three workstations and an Exchange server talking to two domain controllers over the Netlogon RPC service. The Netlogon component on each DC is highlighted because it is the attack surface for CVE-2026-41089. Sneha's laptop 10.42.10.55 Rahul's desktop 10.42.10.78 Exchange server 10.42.20.10 Domain-joined clients DC01 โ€” Primary DC 10.42.50.10 ยท Windows Server 2022 Netlogon ยท lsass.exe ยท SYSTEM DC02 โ€” Replica DC 10.42.50.11 ยท Windows Server 2025 Netlogon ยท lsass.exe ยท SYSTEM Active Directory forest: corp.tcs.local MS-NRPC over RPC Secure channel

Every domain-joined device talks to a DC over MS-NRPC. The bug lives inside the Netlogon component on the DC โ€” the same component that answers every authentication request. That is what makes the attack surface enormous.

๐Ÿ‘ฉโ€๐Ÿ’ป Scenario โ€” Sneha at Infosys Pune

Sneha is an L1 SOC analyst. Her CISO walks past her desk on 13 May 2026 and asks: "are our DCs running Netlogon?" The trick question โ€” every DC has Netlogon running. There is no "off." It's how the AD service exists. The right answer is "yes, on every DC by design โ€” that is exactly why CVE-2026-41089 is rated 9.8."

How CVE-2026-41089 actually fires

The bug is a stack-based buffer overflow in Netlogon's message-handling code. Netlogon writes attacker-controlled bytes into a fixed-size stack buffer without checking the length. Because the buffer sits on the stack, the overflow can overwrite the function's saved return address. The attacker chooses what that overwritten return address points to โ€” typically into a small payload they embedded earlier in the same packet, or into a ROP chain made of existing Netlogon code gadgets. Either way, execution lands wherever the attacker chose, running as SYSTEM, inside the Netlogon service.

What is unusual here is the pre-authentication property. The attacker does not need a domain user account. They do not need to be on the AD-joined LAN. They just need TCP/UDP reachability to the DC's RPC endpoint mapper on port 135 and the dynamic high port Netlogon negotiates afterwards. In a flat enterprise LAN โ€” and most Indian enterprise networks are flatter than the architects admit โ€” that means any compromised workstation can pivot to DC SYSTEM in one packet.

SVG 2 โ€” The five steps from packet to domain compromise
Attacker workstation sends a crafted MS-NRPC packet to the domain controller. The packet overflows a stack buffer inside the Netlogon service, overwriting the saved return address. Execution lands in attacker-supplied shellcode, which runs as SYSTEM and then pulls the NTDS credential database. 1. Attacker 10.42.10.99 (compromised PC) 2. Crafted MS-NRPC oversized arg 3. Stack overflow return addr overwritten 4. SYSTEM shellcode inside lsass.exe 5. Dump NTDS.dit + krbtgt hash From one unauthenticated packet to full domain compromise Total time observed in lab repro: under 30 seconds Once step 5 completes, every account in the domain โ€” including domain admins โ€” is burned. Domain rebuild required.

Steps 1-3 happen pre-authentication. By step 4 the attacker owns the DC itself. By step 5 they own the domain โ€” and "rebuilding AD from scratch" is now on the table.

๐Ÿ‘ฉโ€๐Ÿ’ป Scenario โ€” Priya at Wipro Bengaluru

Priya manages a 14-DC forest. She reads the advisory at 11 PM on 12 May, panics, and DMs her manager. The right next move is not "patch all 14 right now." It is "isolate the RPC endpoint mapper from untrusted segments, then patch in waves starting with internet-adjacent DCs." Order matters. Panic patching is how you break replication.

How CVE-2026-41089 is different from ZeroLogon (and why both still matter)

If you have done CISSP prep, you remember ZeroLogon (CVE-2020-1472). Both bugs end in "attacker owns the domain via Netlogon," but the root cause and the detection signal are very different. An interviewer will absolutely ask you to distinguish them.

SVG 3 โ€” Side-by-side: the three big Netlogon CVEs
Three columns comparing root cause, authentication required, what an attacker gets, detection signal, and fix difficulty across the three biggest Netlogon vulnerabilities. CVE-2020-1472 ยท ZeroLogon CVE-2022-38023 ยท RPC sign CVE-2026-41089 ยท NEW ROOT CAUSE Crypto flaw โ€” AES-CFB8 IV reuse allows zeroing the machine-account password. Insufficient RPC signing enforcement allows downgrade to unsigned channels. Stack buffer overflow in Netlogon message handler. Classic memory-safety bug. AUTH REQUIRED? None (LAN reachability only) Valid domain account None (LAN reachability only) ATTACKER GETS DC machine account = domain MITM on machine auth SYSTEM on DC = full domain DETECTION SIGNAL Event 5829 (vuln conn) Event 5840/5841 (downgrade) Event 5805 + Netlogon crash

Same protocol, three different bug classes. CVE-2026-41089 is the most dangerous because, like ZeroLogon, it requires no authentication โ€” but unlike ZeroLogon, the patch order also matters (more in the next section).

๐Ÿ‘จโ€๐Ÿ’ป Scenario โ€” Karthik at Flipkart Bengaluru

Karthik did Zerologon remediation in 2020. He asks his lead: "is this just ZeroLogon again?" The honest answer is no โ€” ZeroLogon was a crypto bug fixable by enforcing secure-channel signing. CVE-2026-41089 is a memory-corruption bug; the only fix is the binary patch. There is no "policy workaround" this time.

So far: Netlogon = AD's authentication chatbot, it runs as SYSTEM on every DC, and CVE-2026-41089 lets one unauthenticated packet hand SYSTEM to an attacker. Next we check whether your DCs are exposed.

Hands-on โ€” is your DC vulnerable?

Three checks. Run them on each DC, in order. All commands run in an elevated PowerShell.

Check 1 โ€” is the May 2026 patch installed?

PowerShell on the DC (elevated)
Get-HotFix -Id KB5058411, KB5058385 |
    Select-Object HotFixID, InstalledOn, InstalledBy
โœ“Expected output (patched DC)
HotFixID    InstalledOn   InstalledBy
--------    -----------   -----------
KB5058411   5/13/2026     NT AUTHORITY\SYSTEM
KB5058385   5/13/2026     NT AUTHORITY\SYSTEM

Empty output = the DC is unpatched. Move to step 2 immediately.

Check 2 โ€” what build are we on?

PowerShell โ€” confirm OS build is post-May-2026
Get-ComputerInfo -Property OsName, OsVersion, OsBuildNumber, OsHardwareAbstractionLayer
# Server 2022 fixed build: 20348.3517 or higher
# Server 2025 fixed build: 26100.3915 or higher

Check 3 โ€” is Netlogon's RPC endpoint reachable from places it shouldn't be?

From a workstation that should NOT reach the DC's RPC endpoint
Test-NetConnection -ComputerName 10.42.50.10 -Port 135
# If TcpTestSucceeded = True from a user VLAN, your DC's RPC interface
# is exposed to every workstation. That is the attack surface.

Patch deployment โ€” the order that does not break replication

  1. Snapshot every DC (VM checkpoint or backup) before any reboot. If anything goes sideways with the secure channel, you want a rollback point.
  2. Patch the PDC Emulator FSMO holder LAST, not first. The PDC Emulator is the time source and password-change authority โ€” if it goes down mid-patch, every other DC's clock skews and Kerberos breaks.
  3. Patch in this order: replica DCs in the largest site first โ†’ replica DCs in branch sites โ†’ finally the PDC Emulator. One DC at a time per site. Wait for replication to converge (repadmin /showrepl) between each.
  4. After each DC reboots, verify the secure channel still works: Test-ComputerSecureChannel -Verbose on a member server in the same site. Expected: True.
  5. Re-test reachability + Get-HotFix from step 1.
๐Ÿ‘จโ€๐Ÿ’ป Scenario โ€” Rahul at TCS Bengaluru

Rahul runs Get-HotFix on his 14 DCs and finds 6 of them still on the April 2026 baseline because the WSUS rule was set to "auto-approve Important only." May's Netlogon patch was tagged Critical and skipped. Fix the WSUS classification first, then push. Lesson โ€” WSUS rules drift, audit them every Patch Tuesday.

Detection โ€” catching exploitation in Splunk + Microsoft Sentinel

Patching is half the job. Until every DC is patched (and even after), you want a detection that fires on the pre-exploit pattern: malformed MS-NRPC packets + unexpected Netlogon service crashes. Enable enhanced Netlogon logging first.

Enable Netlogon debug logging on the DC
nltest /dbflag:0x2080FFFF
# Logs to %WINDIR%\debug\netlogon.log
# Look for Event IDs 5805, 5827, 5828, 5829, 5830, 5831

Splunk SPL โ€” burst of malformed NRPC from a single source

Splunk Enterprise Security
index=wineventlog source="WinEventLog:System"
    (EventCode=5805 OR EventCode=5827 OR EventCode=5828
     OR EventCode=5829 OR EventCode=5830 OR EventCode=5831)
| bin _time span=5m
| stats count by _time, host, src_ip
| where count > 10
| sort - count

Microsoft Sentinel KQL โ€” Netlogon service crash followed by lsass access

Sentinel Analytics Rule (KQL)
let netlogonCrash = Event
    | where EventLog == "System"
    | where Source == "Service Control Manager"
    | where EventID == 7034
    | where RenderedDescription contains "Netlogon"
    | project crashTime = TimeGenerated, Computer;
let lsassRead = DeviceProcessEvents
    | where ProcessCommandLine has_any ("lsass", "comsvcs.dll", "MiniDump")
    | project readTime = TimeGenerated, Computer, AccountName, ProcessCommandLine;
netlogonCrash
| join kind=inner lsassRead on Computer
| where readTime between (crashTime .. (crashTime + 10m))
| project crashTime, Computer, AccountName, ProcessCommandLine
!Common mistakes
โ˜…Pro tips
๐Ÿ‘จโ€๐Ÿ’ป Scenario โ€” Aditya at HCL Lucknow

Aditya patches DC03 and sees Event ID 5719 ("This computer was not able to set up a secure session") flood the log for 6 minutes. Trainee instinct says rollback. Senior move: wait 10 minutes for the secure channel to rebuild, then run Test-ComputerSecureChannel -Repair from a member server. Patching transient errors are normal; permanent ones aren't.

๐Ÿ“‹ Quick reference โ€” CVE-2026-41089 cheat sheet

FieldValue
CVECVE-2026-41089
CVSS v3.19.8 Critical (AV:N / AC:L / PR:N / UI:N / S:U / C:H / I:H / A:H)
Bug classStack-based buffer overflow in MS-NRPC message handler
Auth requiredNone โ€” pre-authentication RCE
AffectedWindows Server 2012, 2012 R2, 2016, 2019, 2022, 2022 23H2, 2025 (DC role + RPC interface exposed)
PatchesKB5058411 (Server 2022), KB5058385 (Server 2025); equivalent KBs for older releases
Detection eventsSystem log Event IDs 5805, 5827-5831; Service Control Manager Event 7034 (Netlogon crash)
Patch orderReplica DCs first โ†’ branch DCs โ†’ PDC Emulator LAST
No workaroundOnly the binary patch fixes it. No policy/registry mitigation works.

Glossary

Sources used in this lesson

  1. NVD โ€” CVE-2026-41089 official detail
  2. Microsoft Learn โ€” MS-NRPC Netlogon Remote Protocol spec
  3. The Hacker News โ€” May 2026 patches including Netlogon RCE
  4. Tenable โ€” May 2026 Patch Tuesday analysis
  5. CrowdStrike โ€” May 2026 Patch Tuesday telemetry
  6. Rapid7 โ€” Patch Tuesday May 2026 deep dive
  7. The Hacker Recipes โ€” ZeroLogon (CVE-2020-1472) historical context
  8. CERT/CC VU#490028 โ€” Netlogon AES-CFB8 cryptographic issue

๐Ÿ“ Check your understanding โ€” 10 scenario questions

Bloom-tiered mix: 1 recall, 3 apply, 4 analyze, 2 evaluate. Pick one answer per question. You need 70% (7 of 10) to mark this lesson complete on your profile.

Q1Remember

What CVSS v3.1 base score does CVE-2026-41089 carry?

Correct: c. CVSS 9.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H). 10.0 would require a "scope changed" component which this bug does not have because the impact stays within the affected component. 7.5 and 8.8 would imply some form of user interaction or authentication requirement, both of which are absent.
Q2Apply

Sneha at Infosys has to patch a Windows Server 2022 DC for CVE-2026-41089. Which Microsoft KB should she install?

Correct: b. KB5058411 is the May 2026 Server 2022 cumulative update that contains the Netlogon fix. (a) is for a different Server version. (c) is from April and predates the disclosure. (d) is a common misconception โ€” the SSU (Servicing Stack Update) does NOT include the LCU; both must be deployed.
Q3Apply

Priya at Wipro is mid-patch. After KB5058411 installs, DC03 reboots but the Netlogon secure channel to a member server breaks. What is her correct next step?

Correct: a. Transient secure-channel errors after a DC reboot are normal โ€” the channel rebuilds in minutes. (b) is the panic move that re-exposes you to the CVE. (c) is wildly over-reactive. (d) disables the very protection the patch enables and reopens the org to ZeroLogon-class attacks.
Q4Apply

Karthik at Flipkart wants a one-line check across 14 DCs to confirm the Netlogon patch is installed. Best command?

Correct: d. Fan-out over WinRM with Get-HotFix filtered to the specific KB is the right tool. (a) only tells you the service runs โ€” every DC's service runs by definition. (b) checks secure-channel health, not patch status. (c) shows recent log entries but does not prove the patch is installed.
Q5Analyze

Rahul's SOC sees the Netlogon service on DC02 crash and auto-restart three times in 8 minutes. tcpdump on DC02's interface shows oversized MS-NRPC requests from 10.42.10.99. Most likely diagnosis?

Correct: c. Repeated Netlogon crashes correlated with oversized inbound MS-NRPC packets from a single source = textbook exploit attempt. (a) and (b) would not produce the specific oversized-RPC pattern. (d) Kerberos uses port 88, not Netlogon RPC, and does not cause the service to crash. Action: isolate 10.42.10.99, snapshot DC02, hunt for SYSTEM-level child processes spawned by lsass.exe.
Q6Analyze

Aditya at HCL Lucknow sees Event ID 5805 firing on DC04 every 30 seconds for two days. No service crash. No oversized packets. Most likely cause?

Correct: b. Event 5805 alone, without correlated crashes or oversized RPC, is most commonly clock skew or a stuck machine-account password. This is exactly the false-positive trap mentioned in Common Mistakes โ€” Event 5805 is necessary but not sufficient. Correlate with Event 7034 (Service Control Manager โ€” Netlogon crash) before going to (a) or (c).
Q7Analyze

How does CVE-2026-41089 fundamentally differ from CVE-2020-1472 (ZeroLogon)?

Correct: b. The bug classes are different: ZeroLogon abused an AES-CFB8 initialization vector reuse to zero out the DC's machine-account password โ€” fixable via the FullSecureChannelProtection registry enforcement. 41089 is a stack buffer overflow; only the binary patch fixes it. There is no policy workaround. (a), (c), and (d) are all factually wrong.
Q8Analyze

Why does Netlogon's compromise translate to full domain compromise?

Correct: d. The privilege escalation is automatic: code execution inside lsass.exe = SYSTEM = read access to NTDS.dit (every account hash) and the krbtgt password (Golden Ticket forging). (a) is wrong โ€” Netlogon runs as SYSTEM, not user. (b) is unrelated. (c) is a misconception; Netlogon does not decrypt Kerberos tickets.
Q9Evaluate

A 5,000-user Indian SI firm has 24 DCs across 6 sites. The CISO asks: "should we deploy detection rules first and then patch, or patch first and then detect?" What is the right call?

Correct: b. Detection is necessary but not sufficient โ€” by the time the rule fires, the attacker is already SYSTEM. Patch is the only true preventive. Run both tracks in parallel: emergency-patch the DCs in correct FSMO order over the next 24 hours while detection rules cover the gap. (a) accepts unacceptable risk on critical infrastructure. (c) breaks the entire domain. (d) is reactive theater.
Q10Evaluate

You are designing a high-fidelity detection rule for CVE-2026-41089 in Splunk. Which event-correlation logic is the strongest signal?

Correct: c. High-fidelity detection requires correlation of the pre-exploit pattern (malformed RPC events from one source) with the post-exploit signal (the Netlogon service actually crashing). (a) drowns the SOC in 5805 false positives from clock skew. (b) is normal admin behavior. (d) is false โ€” modern exploits often complete in milliseconds with no CPU spike. Correlation across the kill chain is the difference between an L1 alert flood and an L2-grade rule.
Lesson complete โ€” saved to your profile.
Almost! Review the Detection + Patch sections above and try again โ€” you need 70% (7 of 10) to mark this lesson complete.

What's next?

Now that you can defend a DC, learn how to attack one (ethically) โ€” CISSP Domain 3 covers the offensive side of credential-store theft. Drill the practice MCQs on exam.techclick.in to lock the concepts.