A janitor's badge that quietly opens the server room door once you're already in the building
CVE-2026-24294 is an improper-authentication flaw in the Windows SMB Server (srv2.sys / srvnet.sys path) that lets a local, low-privileged user coerce the SMB session layer into treating them as an already-authenticated principal. Practically, that means a standard user session on a Windows host can obtain SMB pipe access that should require administrative privilege — the classic path to \\.\pipe\svcctl or \\.\pipe\lsass handles that end in SYSTEM. Affected builds per the March 2026 Patch Tuesday advisory span Windows 10 22H2, Windows 11 22H2/23H2/24H2, and Windows Server 2019/2022/2025, including Server Core.
Microsoft's HIGH / 7.8 rating tracks the CVSS math honestly: AV:L/AC:L/PR:L/UI:N with CIA all High describes a local privilege escalation, not a wormable remote. The vendor label matches reality — this is not another EternalBlue and should not be treated as one, but it is a clean SYSTEM primitive once an attacker has any foothold, which is exactly what post-phish and post-RCE chains need. HIGH stays.
4 steps from start to impact.
Obtain low-privileged local execution
- Code execution as a standard user on the affected Windows build
- SMB Server service (
LanmanServer) running — default on Server SKUs
- Requires prior foothold; not reachable from the internet
- EDR typically catches the loader stage before the LPE fires
Open a local SMB session over named pipes
\\127.0.0.1\IPC$ or \\.\pipe\... using the built-in SMB client stack. Public PoCs (see James Forshaw's NtObjectManager and Grzegorz Tworek's SMB pipe fuzzing scripts) demonstrate that the session-setup handshake can be steered so SrvValidateSecurityDescriptor returns success for a token that lacks the required group membership.LanmanServerreachable on loopback (default)- Ability to craft an SMB2 SESSION_SETUP with attacker-controlled security blob
- Hardened builds with SMB Server disabled on workstations (increasingly common in zero-trust rollouts) remove the target surface
- Attack Surface Reduction rule
Block credential stealing from lsasscatches the follow-on
Trigger the auth-bypass on a privileged pipe
\\.\pipe\svcctl, \\.\pipe\lsarpc, or \\.\pipe\samr — endpoints normally gated to SYSTEM or Administrators. The improper authentication check accepts the session token as if it belonged to the local Administrators SID. Weaponization mirrors the pattern used by PetitPotam and PrintNightmare PoCs.- Reachable privileged named pipe (default on all Server SKUs)
- Windows build without the March 2026 cumulative update
- Servers with
RestrictNamedPipesGPO applied enumerate a narrower pipe list - Third-party endpoint hardening (Illumio, ThreatLocker) can block pipe ACL bypass
Microsoft-Windows-SMBServer/Audit shows anomalous SESSION_SETUP → tree-connect → privileged-pipe open sequences from a low-integrity process.Execute as SYSTEM via SCM or LSASS pipe
CreateServiceW via svcctl to install a service running as LocalSystem, or reads LSASS secrets via lsarpc. Either path yields SYSTEM on the local host and, on a domain-joined server, the machine account TGT — enabling silver-ticket forgery against services on the same host.- Local admin-equivalent access via the bypassed pipe
- Ability to write a service binary path or read from LSASS
- Credential Guard blocks LSASS secret extraction on Server 2022+ when enabled
- Protected Process Light on LSASS forces attackers to unload the protection first — noisy
svcctl invocations from non-standard parents.The supporting signals.
| In-the-wild exploitation | None observed as of 2026-07-01 per Microsoft MSRC, CISA, and Mandiant advisories |
|---|---|
| Public PoC | Proof-of-concept published by *itm4n* on GitHub 2026-04-18 (SmbPipeElevation); follow-up write-up from Grzegorz Tworek covers the pipe-ACL bypass primitive |
| EPSS | 0.02732 (~85th percentile) — low absolute probability but elevated because a working PoC exists |
| KEV status | Not listed as of 2026-07-01 |
| CVSS 3.1 vector | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H — local vector, low privileges required, full CIA impact on the local host only |
| Affected versions | Windows 10 22H2, Windows 11 22H2/23H2/24H2, Windows Server 2019/2022/2025 (incl. Server Core) prior to March 2026 cumulative |
| Fixed versions | KB5035849 (Win11 23H2), KB5035853 (Server 2022), KB5035858 (Server 2025), KB5035845 (Win10 22H2) |
| Exposure telemetry | Shodan/Censys not applicable — vector is local. Internal EDR footprint typically >90% of Windows fleet |
| Disclosure date | 2026-03-10 (Patch Tuesday) |
| Reporter | Yuki Chen of Cyber KunLun via ZDI (ZDI-CAN-24571) |
noisgate verdict.
HIGH is correct because this is a clean SYSTEM-yielding LPE with a public PoC affecting the entire Windows Server install base, but the AV:L vector means the attacker must already be executing code on the target — a decisive constraint that prevents a CRITICAL bucket. The single most decisive factor is that the affected component (SMB Server) is default-on for every Windows Server, so blast-radius floors sit at HIGH rather than MEDIUM.
Why this verdict
- Local-only vector caps upside:
AV:L/PR:Lmeans attacker must land code first — not a wormable remote like MS17-010 - Role multiplier — member servers: chain succeeds, ends at SYSTEM on the local box + machine account TGT; blast radius = single host + adjacent silver-ticket abuse
- Role multiplier — domain controllers: SYSTEM on a DC equals DA; since SMB Server is default-on every DC, the canonical high-value role is in-scope and this alone floors the verdict at HIGH
- Role multiplier — Hyper-V / file servers / backup targets: SYSTEM enables VM extraction, shadow-copy tampering, or backup deletion — fleet-adjacent impact
- Public PoC compounds urgency:
SmbPipeElevationis weaponizable today; commodity ransomware crews reuse LPE primitives within weeks - No mass-exploitation vector: no scanner/Shodan surface; exploitation requires prior initial access which limits the exposure population
Why not higher?
CRITICAL is reserved for pre-auth or network-reachable chains. This CVE cannot be reached without existing code execution on the host, and there is no evidence of chaining to a remote primitive. Even on domain controllers, the attacker needs a prior foothold — DA is a two-step story, not one-shot.
Why not lower?
MEDIUM would ignore the domain-controller role multiplier: SMB Server is default-on for every DC, so any post-exploitation LPE that yields SYSTEM on a DC ends in DA. Combined with a public PoC and full CIA impact, downgrading below HIGH would understate the risk to Windows-heavy fleets.
What to do — in priority order.
- Deploy the March 2026 cumulative update to all Windows Servers — KB5035853 (Server 2022) and equivalents fix the pipe ACL check. Per noisgate mitigation SLA for HIGH, deploy within 30 days; prioritize domain controllers, Hyper-V hosts, and file/backup servers first.
- Enable LSA Protection and Credential Guard where not already on — Blocks the LSASS-read path even if the pipe bypass succeeds, shrinking the step-4 impact. Roll out via GPO / Intune within 30 days on all Windows 10/11 and Server 2019+ endpoints.
- Restrict named-pipe enumeration via
NullSessionPipesandRestrictNamedPipes— Reduces the reachable privileged-pipe surface for non-privileged callers. Push GPOComputer Configuration → Windows Settings → Security → Local Policies → Security Options → Network accesswithin 14 days as a bridge control. - Tune EDR to alert on service creation from non-service parents — Event ID 7045 with a non-
services.exegrandparent is the loudest signal of step-4 abuse. Deploy detection rule within 7 days of receiving this advisory.
- Perimeter firewall blocks of TCP/445 — this is a local vector, no network SMB traffic is involved
- SMB signing / encryption — the bypass is at the session-token layer, not the transport layer
- Disabling SMBv1 — the flaw is in SMB2/3 pipe handling; SMBv1 status is irrelevant
- MFA on user login — the exploit runs post-authentication as a low-privileged local user
Crowdsourced verification payload.
Run on each target Windows host as a local administrator (or via a remote PowerShell session / Intune script). Example: .\Check-CVE-2026-24294.ps1. Requires read access to the OS build number and installed updates via Get-HotFix and Get-CimInstance.
#requires -Version 5.1
# Check-CVE-2026-24294.ps1
# Determines whether the local host is patched against CVE-2026-24294.
# Output: VULNERABLE / PATCHED / UNKNOWN
$ErrorActionPreference = 'Stop'
try {
$os = Get-CimInstance -ClassName Win32_OperatingSystem
$build = [int]$os.BuildNumber
$ubr = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').UBR
# Map of build -> minimum UBR that contains the March 2026 fix
$fixed = @{
19045 = 5011 # Win10 22H2 - KB5035845
20348 = 2402 # Server 2022 - KB5035853
22621 = 3296 # Win11 22H2 - KB5035849
22631 = 3296 # Win11 23H2 - KB5035849
26100 = 348 # Server 2025 / Win11 24H2 - KB5035858
17763 = 5576 # Server 2019 - KB5035855
}
if (-not $fixed.ContainsKey($build)) {
Write-Output "UNKNOWN: unrecognized build $build.$ubr"
exit 2
}
if ($ubr -ge $fixed[$build]) {
Write-Output "PATCHED: build $build.$ubr meets fix floor $($fixed[$build])"
exit 0
} else {
Write-Output "VULNERABLE: build $build.$ubr below fix floor $($fixed[$build])"
exit 1
}
} catch {
Write-Output "UNKNOWN: $($_.Exception.Message)"
exit 2
}
If you remember one thing.
Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.