It's like leaving a SYSTEM-level backdoor in your security cameras — but only someone with a badge and a social-engineering trick can use it
CVE-2026-50502 is a remote code execution vulnerability in the Windows Event Logging Service (wevtsvc), caused by insufficient granularity of access control (CWE-1220). A low-privileged authenticated user can craft network requests to the service that bypass intended authorization checks, achieving code execution in the service's security context — which is NT AUTHORITY\SYSTEM. Every supported Windows version is affected: Windows 10 v1607 through Windows 11 24H2, and Windows Server 2016 through Server 2025. The service is non-optional and runs on every Windows host in your fleet, including domain controllers, Hyper-V hosts, and SIEM forwarders.
Microsoft rated this Important / HIGH at CVSS 8.0, which is directionally correct but slightly generous for current real-world risk. The CVSS vector includes both PR:L (authenticated) and UI:R (user interaction required) — a two-gate friction chain that substantially narrows the exploitable population compared to a typical unauthenticated RCE. There is no public PoC, no in-the-wild exploitation, and EPSS sits at just 0.6% — all indicators that weaponization has not occurred. The vendor severity is fair as a ceiling, but the practical urgency is lower than the raw score implies, which is why noisgate compresses this to HIGH 7.0.
4 steps from start to impact.
Obtain low-privilege credentials
PR:L requirement means unauthenticated external attackers cannot reach the vulnerable code path at all.- Valid low-privilege credentials on target Windows environment
- Requires prior credential compromise or insider access
- MFA on initial authentication reduces credential reuse from phishing
Trigger user interaction on target host
UI:R flag means the attacker must convince a user on the target host to perform an action — likely opening a crafted file, clicking a link, or triggering an application that sends a malicious request to the Event Logging Service. This is the second gate: even with credentials, the attacker needs a social-engineering or application-level trigger on the same host they want to compromise.- Ability to deliver a payload or link to a user on the target host
- User must interact with the malicious payload
- Email gateway and web proxy filtering may block delivery
- Security-aware users may decline to interact with unexpected content
- Server roles (DCs, Hyper-V) have fewer interactive users, reducing UI:R surface area significantly
Exploit access control gap in wevtsvc
- Crafted request delivered to Event Logging Service via network (RPC/named pipe)
- Target host unpatched — missing July 2026 cumulative update
- No public PoC or exploit framework module available as of 2026-07-30
- Patch diffing and exploit development effort required
- Host-based firewalls may restrict RPC/named-pipe access to the service
svchost.exe hosting the EventLog service groupAchieve SYSTEM-level code execution
NT AUTHORITY\SYSTEM. Successful exploitation grants the attacker SYSTEM privileges on the target host. From here, the attacker can dump credentials via LSASS, install persistence mechanisms, pivot laterally, or — on a domain controller — perform DCSync to extract every domain credential hash.- Successful exploitation of the access control flaw in Step 3
- EDR/AV should detect common post-exploitation behavior (credential dumping, lateral movement tools)
- Credential Guard on modern Windows 10/11 and Server 2016+ reduces credential extraction from LSASS memory
The supporting signals.
| In-the-Wild Exploitation | None observed. Not listed on CISA KEV. No reports from Microsoft, GreyNoise, or threat intelligence feeds as of 2026-07-30. |
|---|---|
| Proof-of-Concept | Not publicly available. No GitHub repos, no Metasploit/Cobalt Strike modules. Exploit development requires reverse-engineering the July 2026 patch diff. |
| EPSS Score | 0.006 (0.6%) — bottom quartile. Very low predicted exploitation probability within the next 30 days. |
| KEV Status | Not listed. No CISA Known Exploited Vulnerabilities entry as of 2026-07-30. |
| CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H — Network vector is broad, but PR:L + UI:R creates a significant two-gate friction barrier. Scope Unchanged confines direct impact to the exploited host. |
| Affected Versions | All supported Windows desktop and server editions: Windows 10 v1607+, Windows 11 (all builds), Windows Server 2016, 2019, 2022, 2025. The Event Logging Service is a core OS component present on every installation. |
| Fixed Versions | July 2026 cumulative updates: KB5099535 (Server 2016 / Win10 1607, build 14393.9339), KB5099538 (Server 2019 / Win10 1809, build 17763.9020), KB5099540 (Server 2022, build 20348.5386). Win11 24H2 and Server 2025 via standard cumulative update channels. |
| Scanning / Exposure Data | The Event Logging Service communicates over RPC/named pipes, which are virtually never exposed to the internet. Shodan and Censys show no meaningful direct exposure. Attack surface is internal network only for practical purposes. |
| Disclosure Date | 2026-07-14 — Microsoft July 2026 Patch Tuesday release. |
| Reporting Researcher | Not publicly attributed. Microsoft's advisory does not name the discoverer. |
noisgate verdict.
The two-gate friction chain — requiring both valid credentials (PR:L) AND user interaction (UI:R) with no public PoC or in-the-wild exploitation — is the single most decisive factor compressing practical risk below the vendor's CVSS 8.0 baseline, while the SYSTEM-on-domain-controller blast radius hard-floors the verdict at HIGH and prevents any MEDIUM downgrade.
Why this verdict
- Two-gate authentication + interaction barrier:
PR:Lrequires the attacker to already possess valid credentials, andUI:Rrequires a user on the target host to interact with a malicious payload. Both gates must be cleared sequentially, compounding the friction and narrowing the realistic attacker population to insiders or post-phishing operators already inside the network. - No weaponization signals: Zero public PoC, no exploit framework modules, no in-the-wild exploitation reported, and EPSS at 0.6% — all indicators that the vulnerability has not been operationalized and is unlikely to see mass exploitation in the near term.
- Role multiplier — SYSTEM on domain controllers: The Windows Event Logging Service runs as
NT AUTHORITY\SYSTEMon every Windows host, including domain controllers. On a DC, SYSTEM access enables DCSync and full domain credential compromise. DCs represent ~2-5% of enterprise Windows hosts, well above the 1% floor threshold. This role multiplier hard-floors the verdict at HIGH despite the significant exploitation friction. On Hyper-V hosts, SYSTEM could enable hypervisor-level pivoting; on SIEM forwarders, it compromises the detection plane. - Scope Unchanged limits lateral blast: The CVSS
S:Umeans the vulnerability's direct impact is confined to the target host. Fleet-scale compromise requires chaining additional lateral movement steps after initial SYSTEM access, adding further practical friction beyond the initial exploit.
Why not higher?
CRITICAL would require either active exploitation, a public PoC enabling mass weaponization, or removal of one of the two friction gates (PR:L or UI:R). None of these conditions are met. The UI:R requirement is a hard barrier against wormable or automated exploitation. While the Event Logging Service runs on every Windows host including DCs, it is not canonically a high-value-role-*only* component — it runs universally, so the high-value-role percentage (~2-5% DCs) does not meet the ≥10% threshold that would mandate a CRITICAL floor.
Why not lower?
MEDIUM would require either a substantially limited affected population or a blast radius that doesn't reach domain compromise. Neither holds: the service runs on every Windows host in the fleet (universal exposure), and SYSTEM on a domain controller enables full domain takeover via DCSync. The DC role multiplier hard-floors the verdict at HIGH regardless of exploitation friction. Additionally, the AV:N vector means the vulnerability is reachable from anywhere on the internal network, not just locally.
What to do — in priority order.
- Prioritize patching domain controllers and Tier 0 assets first — SYSTEM on a DC = domain compromise. Apply the July 2026 cumulative update (KB5099535/KB5099538/KB5099540 as applicable) to all DCs, ADCS servers, and PAM hosts within the noisgate HIGH mitigation SLA — within 30 days (by 2026-08-29). These are the highest-blast-radius targets.
- Restrict RPC and named-pipe access to the Event Logging Service — Use Windows Firewall with Advanced Security or Group Policy to limit which hosts and accounts can reach the EventLog service's RPC endpoints. This narrows the network attack surface without disabling logging. Deploy within 30 days on all servers.
- Enforce MFA on all interactive and remote logon paths — The
PR:Lprerequisite means the attacker needs credentials. MFA on RDP, VPN, OWA, and remote management portals raises the bar significantly for credential-reuse attacks from phishing. Verify MFA coverage on all accounts that can reach servers. - Enable Credential Guard on supported hosts — If the attacker achieves SYSTEM, Credential Guard prevents extraction of domain credential material from LSASS memory, limiting the post-exploitation blast radius even on a compromised host. Enable on Windows 10/11 Enterprise and Server 2016+ within 30 days.
- Create EDR detection rule for anomalous svchost.exe child processes — Build a SIEM/EDR alert for unexpected processes (
cmd.exe,powershell.exe,rundll32.exe,certutil.exe) spawned by thesvchost.exeinstance hosting the EventLog service group. This catches post-exploitation regardless of the specific exploit technique used.
- Disabling the Windows Event Logging Service — eliminates the attack surface but creates a catastrophic visibility gap. You lose all Windows event logs, breaking SIEM ingestion, compliance audit trails, and forensic capability. The cure is worse than the disease.
- Network segmentation alone — while segmentation helps, the
AV:Nvector operates over RPC and named pipes, which are allowed within most internal network segments by default. Micro-segmentation specifically restricting RPC to the EventLog service is rarely deployed and difficult to maintain. - AppLocker / WDAC application whitelisting — does not prevent the initial exploitation of the service itself. May limit some post-exploitation payload execution, but an attacker with SYSTEM can modify or bypass most AppLocker policies.
Crowdsourced verification payload.
Run this script on each target Windows host with local administrator privileges. Example: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-50502.ps1. It checks the OS build number against the patched build thresholds from the July 2026 cumulative updates.
# Check-CVE-2026-50502.ps1
# Verifies whether the host is patched against CVE-2026-50502
# (Windows Event Logging Service RCE - July 2026)
# Run as local administrator on the target host.
# Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN
$ErrorActionPreference = 'Stop'
# Patched build thresholds from July 2026 cumulative updates
$patchedBuilds = @{
'14393' = 9339 # Windows 10 1607 / Server 2016 (KB5099535)
'17763' = 9020 # Windows 10 1809 / Server 2019 (KB5099538)
'19044' = 7548 # Windows 10 21H2
'19045' = 7548 # Windows 10 22H2
'20348' = 5386 # Windows Server 2022 (KB5099540)
'26100' = 8875 # Windows 11 24H2 / Server 2025
}
try {
$os = Get-CimInstance Win32_OperatingSystem
$majorBuild = $os.BuildNumber
$ubr = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name UBR).UBR
Write-Host "Host: $($env:COMPUTERNAME)"
Write-Host "OS: $($os.Caption)"
Write-Host "Build: $majorBuild.$ubr"
Write-Host '---'
if ($patchedBuilds.ContainsKey($majorBuild.ToString())) {
$requiredUBR = $patchedBuilds[$majorBuild.ToString()]
if ($ubr -ge $requiredUBR) {
Write-Host "PATCHED - Build $majorBuild.$ubr meets or exceeds threshold $majorBuild.$requiredUBR"
exit 0
} else {
Write-Host "VULNERABLE - Build $majorBuild.$ubr is below patched threshold $majorBuild.$requiredUBR"
Write-Host "Action: Apply the July 2026 cumulative update immediately."
exit 1
}
} else {
# Check for EOL or unrecognized builds
$knownEOL = @('10240','15063','16299','18362','18363','19041','19042','19043')
if ($knownEOL -contains $majorBuild.ToString()) {
Write-Host "VULNERABLE - Build $majorBuild is end-of-life and will not receive a patch."
Write-Host "Action: Upgrade to a supported Windows version."
exit 1
}
Write-Host "UNKNOWN - Build $majorBuild is not in the known affected/patched list."
Write-Host "Verify manually against the MSRC advisory."
exit 2
}
} catch {
Write-Host "UNKNOWN - Error retrieving OS build information: $_"
exit 2
}If you remember one thing.
Sources
- Microsoft MSRC Advisory — CVE-2026-50502
- Windows News — July Patch Tuesday RCE in Windows Event Logging
- Cisco Talos — Microsoft Patch Tuesday July 2026
- Qualys ThreatPROTECT — July 2026 Patch Tuesday Review
- Lansweeper — Microsoft Patch Tuesday July 2026
- CCB Belgium — July 2026 Patch Tuesday Advisory
- CISA Known Exploited Vulnerabilities Catalog
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.