← Back to Feed CACHED · 2026-08-17 15:57:53 · CACHE_KEY CVE-2026-69414
CVE-2026-69414 · CWE-59 · Disclosed 2026-08-14

Microsoft is aware of an elevation of privilege in the Microsoft Malware Protection Engine in Microsoft…

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Your smoke detector just handed the arsonist the keys to every room in the building

CVE-2026-69414, publicly called ShieldBreak, is a local privilege escalation zero-day in the Microsoft Malware Protection Engine (MpEngine.dll) powering Microsoft Defender. It is a bypass of the July 2026 patch for CVE-2026-50656 (RoguePlanet). The exploit abuses Cloud Filter API user-mode callback hooks to interfere with Defender's cloud-hydration scan workflow: it plants an EICAR trigger file, uses Object Manager symbolic links and CLFS log manipulation to redirect Defender into locking C:\Windows\system32\phoneinfo.dll, swaps in a malicious replacement, and then waits for the built-in QueueReporting scheduled task to run wermgr.exe -upload at SYSTEM — which loads the attacker-controlled DLL and spawns a SYSTEM shell via conhost.exe. The PoC is public on GitHub (MSNightmare/ShieldBreak), confirmed working by Will Dormann and Kevin Beaumont, with a claimed 100% success rate on Windows 11 25H2, Server 2025, and Canary builds. Windows 10 and its server editions are also vulnerable but the PoC does not yet automate them. No patch exists as of 2026-08-17.

Microsoft rates this HIGH at 7.8, which is technically accurate for the CVSS:3.1 vector (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) but dramatically underweights reality. Defender is not optional middleware — it is the default kernel-mode security agent on every Windows endpoint in most enterprises. Gaining SYSTEM through the security agent itself is not just privilege escalation; it is defense evasion at fleet scale, because the very tool meant to detect post-exploitation is the tool being weaponized. Combined with public PoC availability, zero-day status, and a 100% success rate, the vendor's 7.8 is dangerously conservative.

"Unpatched zero-day turns your own antivirus into a SYSTEM shell on every Windows host"
02 · The Attack Path

5 steps from start to impact.

STEP 01

Obtain local code execution

The attacker establishes a foothold on the target host as a low-privileged user. This could come from phishing, RDP with stolen creds, a supply-chain implant, or any other initial-access vector. No admin rights are needed — any domain user or local user account suffices.
Conditions required:
  • Local code execution as a standard user on a Windows host with Defender enabled
Where this breaks in practice:
  • Requires a separate initial-access chain to land on the box
Detection/coverage: EDR telemetry on process creation, email gateway for phishing payloads
STEP 02

Plant EICAR trigger and configure symlinks

The attacker drops an EICAR test file to a user-writable directory to force Defender's real-time scanner to engage. Simultaneously, Object Manager symbolic links are registered via the Cloud Filter API to point Defender's internal file resolution toward C:\Windows\system32\phoneinfo.dll. The CLFS log is manipulated to swap hydration metadata during the scan.
Conditions required:
  • Defender real-time protection enabled (default on all Windows)
  • User-writable directory access
Where this breaks in practice:
  • If Defender is replaced by a third-party AV as the primary engine, the trigger path does not fire
Detection/coverage: Tanium Signal: watch for non-SYSTEM processes writing Report.wer to WER ReportQueue paths; monitor Cloud Filter API registration events
STEP 03

Defender locks legitimate DLL during scan

Defender's scan engine, running as SYSTEM, follows the symbolic link chain and acquires an exclusive lock on phoneinfo.dll in system32. While the file is locked by the engine, the attacker's payload swaps the DLL content with a malicious replacement. Because the lock is held by a SYSTEM process, the swap succeeds under the engine's own privilege context.
Conditions required:
  • Race condition window — claimed 100% reliable in PoC
Where this breaks in practice:
  • Signature-based detection of the PoC binary is trivially bypassed with minor modifications per Kudelski advisory
Detection/coverage: File integrity monitoring on C:\Windows\system32\phoneinfo.dll — alert on any write by non-TrustedInstaller
STEP 04

QueueReporting task loads malicious DLL as SYSTEM

The built-in Windows scheduled task QueueReporting periodically runs wermgr.exe -upload with highest privileges. When it executes, wermgr.exe loads phoneinfo.dll from system32 — now containing the attacker's payload. This spawns conhost.exe as SYSTEM, giving the attacker an interactive SYSTEM shell.
Conditions required:
  • QueueReporting scheduled task enabled (default)
Where this breaks in practice:
  • Task runs on a schedule; attacker may need to wait minutes for trigger, or can force-trigger via schtasks
Detection/coverage: Tanium Signal: Conhost Spawned Executable; monitor child processes of wermgr.exe launched with -upload argument
STEP 05

Post-exploitation: disable Defender, persist, pivot

With SYSTEM access achieved *through* the security agent, the attacker can disable Defender entirely via Set-MpPreference or tamper protection bypass, install persistence mechanisms invisible to the now-compromised detection stack, dump credentials via LSASS, and move laterally. On a domain controller, this is equivalent to domain admin. On any host, the detection plane is neutralized.
Conditions required:
  • SYSTEM shell obtained
Where this breaks in practice:
  • Tamper Protection may require additional bypass if enabled and cloud-connected
Detection/coverage: If Defender is the only detection layer, this step is invisible to the host — a separate EDR or SIEM with independent telemetry is required
03 · Intelligence Metadata

The supporting signals.

In-the-Wild StatusZero-day, unpatched. Disclosed 2026-08-14 by Nightmare Eclipse without coordinated disclosure. Microsoft acknowledged 2026-08-17, no fix shipped. No confirmed campaigns yet, but public PoC with 100% success rate makes weaponization trivial.
PoC AvailabilityPublic on GitHub: MSNightmare/ShieldBreak. Confirmed working by Will Dormann and Kevin Beaumont. Claimed 100% success rate on Win11 25H2 and Server 2025.
EPSS0.00237 (low percentile) — EPSS has not yet caught up to the zero-day disclosure; expect rapid increase.
KEV StatusNot listed as of 2026-08-17. Given zero-day status and public PoC, KEV addition is likely imminent if exploitation is confirmed in the wild.
CVSS VectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H — 7.8. Local attack vector, low complexity, low privileges required. Scope Unchanged understates the cross-component impact (Defender→SYSTEM→fleet).
Affected VersionsAll Windows editions running Microsoft Defender with MpEngine. Confirmed on Windows 11 25H2, Windows Server 2025, Canary channel. Windows 10 and Server 2016/2019/2022 are vulnerable but PoC not yet automated for them.
Fixed VersionNone. Engine version 1.1.26060.3008 (July 2026 RoguePlanet fix) does NOT close this bypass. Microsoft is actively developing a patch.
Prior ArtBypass of CVE-2026-50656 (RoguePlanet, patched July 9 2026). Same researcher previously disclosed BlueHammer, UnDefend, and RedSun — all patched. CWE-59 (Improper Link Resolution Before File Access).
Exposure PopulationMassive. Microsoft Defender is the default AV on all Windows endpoints. Enterprises not running a third-party replacement AV are exposed fleet-wide. Shodan/GreyNoise not applicable (local vuln, no network-facing component).
ResearcherNightmare Eclipse (aka Chaotic Eclipse). Dropped as 0-day due to ongoing dispute with Microsoft over bug bounty practices. Fifth Defender vuln from this researcher.
04 · The Call

noisgate verdict.

Final Verdict
UPGRADED to CRITICAL (9.1/10)

The single most decisive factor is the role multiplier: Microsoft Defender is a kernel-mode security agent running as SYSTEM on virtually 100% of Windows endpoints — compromising it grants SYSTEM on every protected host and simultaneously blinds the detection plane. This is compounded by zero-day status with a public, reliable PoC and no available patch.

HIGH Vulnerability validity and exploitability (confirmed by Dormann and Beaumont)
HIGH Blast radius assessment (Defender is default on all Windows)
MEDIUM Active in-the-wild exploitation (no confirmed campaigns yet, but PoC is public and trivial to weaponize)

Why this verdict

  • Zero-day with public PoC and no patch: The exploit is on GitHub with a claimed 100% success rate, confirmed by independent researchers. Microsoft has no fix available. The window of exposure is indefinite.
  • Role multiplier — kernel-mode security agent: Microsoft Defender runs as SYSTEM on virtually every Windows endpoint in the enterprise. This is not a niche application; it IS the security stack. Gaining SYSTEM through the AV agent means the attacker simultaneously escalates privileges AND neutralizes the primary detection layer. On domain controllers, this chain ends in domain admin. On any host, the detection plane is blind. ≥90% of Windows installs use Defender as primary AV, making this canonically a high-value-role component with fleet-scale blast radius.
  • Low friction, high reliability: The attack requires only low-privilege local access (PR:L) with no user interaction. The PoC is automated and reportedly 100% reliable. Minor PoC modifications bypass signature-based detection, per Kudelski. The only real friction is obtaining initial local access — which is table stakes for any post-compromise toolkit.
  • Patch bypass lineage: This is a confirmed bypass of a recently patched vulnerability (CVE-2026-50656). Organizations that believed they were protected after the July engine update are not. This erodes confidence in the remediation timeline.

Why not higher?

A 9.1 already places this at CRITICAL. It is not a 10.0 because the attack vector is local (AV:L), requiring the attacker to first obtain code execution on the target host through a separate chain. It does not provide remote code execution or initial access. The Scope in CVSS is technically Unchanged, though the real-world cross-component impact (Defender→SYSTEM→fleet) argues for a higher effective score than the raw 7.8.

Why not lower?

Downgrading below CRITICAL is blocked by the hard rule: the affected component is a kernel-mode security agent (Microsoft Defender) that runs as SYSTEM on ≥90% of the installed Windows base. The chain succeeds in every deployment role — workstations, member servers, domain controllers — and the blast radius is fleet-scale defense evasion plus SYSTEM access. The zero-day status with public PoC and no available patch eliminates any temporal relief. Even the PR:L requirement is weak friction; any phishing landing or RDP session satisfies it.

05 · Compensating Control

What to do — in priority order.

  1. Deploy a 0-byte phoneinfo.dll placeholder in system32 — This blocks the file-substitution step the exploit depends on. Tanium and other endpoint management tools can push this as a Guardian policy. Deploy within 3 days per noisgate mitigation SLA for CRITICAL. Test on a small cohort first — phoneinfo.dll is used by Windows Error Reporting and the placeholder may suppress WER uploads.
  2. Monitor wermgr.exe child processes and phoneinfo.dll writes — Create detection rules for: (1) child processes of wermgr.exe -upload, especially conhost.exe; (2) any non-TrustedInstaller write to C:\Windows\system32\phoneinfo.dll; (3) non-SYSTEM processes writing Report.wer to WER ReportQueue paths. Deploy within 3 days.
  3. Enable Tamper Protection and ensure cloud connectivity — Tamper Protection prevents local SYSTEM-level changes to Defender settings. While it does not block the initial escalation, it raises the bar for post-exploitation Defender disablement. Ensure endpoints maintain cloud connectivity for Tamper Protection enforcement.
  4. Layer a second EDR alongside Defender — If Defender is your only detection agent, a successful ShieldBreak exploit blinds you completely. A secondary EDR (CrowdStrike, SentinelOne, etc.) with independent kernel telemetry will detect the post-exploitation activity even if Defender is compromised.
  5. Restrict QueueReporting scheduled task — Disable or modify the QueueReporting task via GPO to prevent wermgr.exe -upload from running automatically. This breaks the DLL-loading trigger. Trade-off: Windows Error Reporting uploads will stop, reducing Microsoft telemetry. Deploy within 3 days.
What doesn't work
  • Defender engine update to 1.1.26060.3008 — this was the RoguePlanet (CVE-2026-50656) fix from July 2026. ShieldBreak explicitly bypasses it. Do not treat this version as protection.
  • Signature-based detection of the PoC binary — Kudelski confirms minor PoC modifications trivially bypass signature matching. Behavioral detection is required.
  • Disabling real-time protection — while this technically prevents the scan trigger, it removes your primary AV entirely, which is worse than the vulnerability itself.
  • Network-level controls (firewall, WAF, IDS) — this is a local privilege escalation; there is no network component to block.
06 · Verification

Crowdsourced verification payload.

Run this script on each target Windows host as any user with read access to the Defender engine directory. No admin privileges required for the version check; admin required for the phoneinfo.dll mitigation check. Example: powershell -ExecutionPolicy Bypass -File .\Check-ShieldBreak.ps1

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#Requires -Version 5.1
# Check-ShieldBreak.ps1 — CVE-2026-69414 (ShieldBreak) vulnerability & mitigation check
# Run on target Windows hosts. No admin needed for vuln check; admin needed for mitigation check.
# Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN

$ErrorActionPreference = 'Stop'

try {
    # Check if Defender is the active AV
    $defenderStatus = Get-MpComputerStatus -ErrorAction SilentlyContinue
    if (-not $defenderStatus) {
        Write-Host "UNKNOWN — Cannot query Defender status. Defender may not be installed or accessible."
        exit 2
    }

    $engineVersion = $defenderStatus.AMEngineVersion
    Write-Host "Defender Engine Version: $engineVersion"
    Write-Host "Defender Enabled: $($defenderStatus.AntivirusEnabled)"
    Write-Host "Real-Time Protection: $($defenderStatus.RealTimeProtectionEnabled)"
    Write-Host "Tamper Protection: $($defenderStatus.IsTamperProtected)"

    if (-not $defenderStatus.AntivirusEnabled) {
        Write-Host "UNKNOWN — Defender is disabled. Vulnerability requires Defender to be active."
        exit 2
    }

    # As of 2026-08-17 there is NO patched engine version for ShieldBreak.
    # Engine 1.1.26060.3008 (RoguePlanet fix) is BYPASSED by ShieldBreak.
    # When Microsoft ships a fix, update $patchedEngineVersion below.
    $patchedEngineVersion = $null  # SET THIS WHEN PATCH SHIPS

    $mitigated = $false
    # Check phoneinfo.dll mitigation (0-byte placeholder)
    $dllPath = "$env:SystemRoot\system32\phoneinfo.dll"
    if (Test-Path $dllPath) {
        $dll = Get-Item $dllPath
        if ($dll.Length -eq 0) {
            Write-Host "Mitigation detected: 0-byte phoneinfo.dll placeholder is in place."
            $mitigated = $true
        }
    }

    # Check QueueReporting task status
    try {
        $task = Get-ScheduledTask -TaskName 'QueueReporting' -TaskPath '\Microsoft\Windows\Windows Error Reporting\' -ErrorAction SilentlyContinue
        if ($task -and $task.State -eq 'Disabled') {
            Write-Host "Mitigation detected: QueueReporting task is disabled."
            $mitigated = $true
        } else {
            Write-Host "QueueReporting task is enabled (exploit trigger active)."
        }
    } catch {
        Write-Host "Could not query QueueReporting task status."
    }

    if ($patchedEngineVersion) {
        if ([version]$engineVersion -ge [version]$patchedEngineVersion) {
            Write-Host "PATCHED — Engine version $engineVersion meets or exceeds fix version $patchedEngineVersion."
            exit 0
        }
    }

    if ($mitigated) {
        Write-Host "VULNERABLE (mitigated) — No patch available, but compensating controls detected."
        exit 1
    }

    Write-Host "VULNERABLE — Defender is active, no patch exists for CVE-2026-69414 (ShieldBreak), and no compensating controls detected."
    exit 1

} catch {
    Write-Host "UNKNOWN — Error during check: $($_.Exception.Message)"
    exit 2
}
07 · Bottom Line

If you remember one thing.

TL;DR
This is an unpatched zero-day with a public, weaponized PoC — treat it as an active emergency. Per the noisgate mitigation SLA for CRITICAL, deploy compensating controls within 3 days: push the 0-byte phoneinfo.dll placeholder to all Defender-protected endpoints, disable the QueueReporting scheduled task via GPO, and stand up behavioral detection for wermgr.exe child process anomalies. If Defender is your sole EDR, fast-track evaluation of a supplementary agent. Per the noisgate remediation SLA, apply Microsoft's patch within 90 days of release — but given zero-day status, patch within 24 hours of availability. Monitor Microsoft's advisory page and Defender engine auto-update channel daily. Prioritize domain controllers, Tier 0 assets, and internet-facing servers for mitigation deployment first.

Sources

  1. BleepingComputer — Microsoft working on Defender patch for ShieldBreak zero-day
  2. The Hacker News — ShieldBreak Zero-Day PoC Claims Defender Patch Bypass
  3. Kudelski Security — RoguePlanet Zero Day MS Defender Privilege Escalation
  4. Morphisec — Microsoft Defender Zero Day RoguePlanet
  5. Tanium — ShieldBreak Mitigation Guidance
  6. SecurityWeek — Nightmare Eclipse Drops ShieldBreak
  7. GitHub — MSNightmare/ShieldBreak PoC
  8. ThreatLocker — ShieldBreak exploits same weakness as RoguePlanet
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.