← Back to Feed CACHED · 2026-08-13 05:11:35 · CACHE_KEY CVE-2026-66804
CVE-2026-66804 · CWE-284 · Disclosed 2026-08-11

Improper access control in Windows Cross Device Service

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

Someone left the garage side-door unlocked, but the burglar already has to be inside your house to use it

CVE-2026-66804 is a local elevation-of-privilege flaw in the Windows Cross Device Service (CrossDeviceService), the background process that powers the Phone Link / Mobile Devices experience on Windows 11 22H2, 23H2, 24H2, and Windows Server 2025/2022 23H2 (Server Core). The service loads DLLs from C:\ProgramData\CrossDevice, a directory writable by standard users. A low-privileged local attacker can plant a malicious DLL in that path; when the service next loads it, code executes as SYSTEM. The pattern is identical to the earlier CVE-2025-24076 (CVSS 7.3) in the same component, which already has a public Exploit-DB PoC (EDB-52320). Affected builds are everything prior to the August 11, 2026 cumulative update.

Microsoft rates this Important / 7.8, which is technically fair for the raw CVSS math — local access, low complexity, low privilege, full CIA impact. But the vendor score ignores three practical realities: (1) exploitation requires the attacker to already have code execution on the target as a standard user, meaning initial access is a prerequisite; (2) the Cross Device Service is a consumer-facing phone-linking feature that most enterprises either never enable or actively disable via policy; (3) no in-the-wild exploitation, no KEV listing, and EPSS sits at the 3rd percentile. The temporal score (6.8) already hints at this gap. For a fleet of 10,000 managed desktops, this is a useful post-compromise garnish — not a primary attack vector.

"Local-only DLL hijack in a consumer phone-link service — post-compromise polish, not a fire drill."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Establish local foothold

The attacker needs code execution as a standard (non-admin) user on the target Windows host. This could come from phishing, a browser exploit, or lateral movement from another compromised machine. The entire chain is gated behind this prerequisite — there is no remote vector.
Conditions required:
  • Local code execution as a low-privileged user on a Windows 11 or Server 2025 host
Where this breaks in practice:
  • Requires a separate initial-access exploit or social engineering chain
  • EDR/AV on the endpoint should flag most commodity payloads that deliver the foothold
Detection/coverage: EDR process telemetry; initial-access alerting via email gateway or proxy
STEP 02

Drop malicious DLL into writable path

The attacker writes a crafted CrossDevice.Streaming.Source.dll (or another DLL loaded by the service) into C:\ProgramData\CrossDevice\. Because this directory grants write access to standard users, no privilege escalation is needed for the file drop itself. The PoC for the predecessor CVE-2025-24076 (EDB-52320) demonstrates the exact technique.
Conditions required:
  • Write access to C:\ProgramData\CrossDevice\
  • Cross Device Service installed and not removed
Where this breaks in practice:
  • Many enterprises strip the Cross Device Experience Host via DISM or disable it via GPO
  • Application whitelisting (WDAC/AppLocker) blocks unsigned DLLs in ProgramData
  • EDR file-write monitoring on C:\ProgramData paths
Detection/coverage: Sysmon Event ID 11 (FileCreate) in C:\ProgramData\CrossDevice\; WDAC audit-mode logs
STEP 03

Trigger DLL load

The service must load the planted DLL. In CVE-2025-24076 this required the victim to open Settings → Mobile Devices, but CVE-2026-66804 is marked UI:N, indicating the service reloads the DLL without user interaction — likely on service restart, logon, or a scheduled task cycle. This lowers friction compared to the predecessor CVE.
Conditions required:
  • Cross Device Service is running or will restart
Where this breaks in practice:
  • If the service is disabled or removed, the DLL is never loaded
  • Service restarts are infrequent on locked-down servers
Detection/coverage: Sysmon Event ID 7 (ImageLoad) for unsigned DLLs loaded by CrossDeviceService.exe
STEP 04

Code execution as SYSTEM

Once the malicious DLL is loaded, the attacker's payload executes in the context of the Cross Device Service, which runs as NT AUTHORITY\SYSTEM. From here the attacker has full host compromise — credential dumping, persistence installation, or lateral movement. Blast radius is limited to the single host.
Conditions required:
  • Malicious DLL successfully loaded by the service
Where this breaks in practice:
  • Credential Guard limits value of LSASS dumping on modern Win11
  • Host isolation / network segmentation limits lateral movement
Detection/coverage: EDR behavioral detection on SYSTEM-context child processes from CrossDeviceService.exe
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone observed. Not listed in CISA KEV. Microsoft states "Exploitation Less Likely" (note: Talos tagged it as "More Likely" in their roundup — conflicting signals). No known campaigns.
Proof-of-conceptNo public PoC for CVE-2026-66804 specifically. However, a fully weaponized PoC for CVE-2025-24076 (same component, same DLL hijack pattern) is on Exploit-DB #52320. Trivial to adapt.
EPSS score0.03029 (~3rd percentile) — well below the action threshold for most risk models.
KEV statusNot listed as of 2026-08-13.
CVSS vectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H — Local attack vector, low privileges, no user interaction, unchanged scope. Full CIA impact. Temporal: 6.8.
Affected versionsWindows 11 22H2, 23H2, 24H2 (x64 & ARM64); Windows Server 2025; Windows Server 2022 23H2 (Server Core). Cross Device Service must be installed.
Fixed versionAugust 11, 2026 cumulative update (KB5120228 for Server 2025; KB numbers vary by client SKU). Install via Windows Update or WSUS.
Exposure dataCross Device Service is a client-side consumer feature. Shodan/Censys/GreyNoise have no relevant exposure surface — this is not a network-listening service. Enterprise prevalence depends on whether the feature was stripped during image build.
Disclosure date2026-08-11 (Microsoft Patch Tuesday). No prior public disclosure.
ReporterNot publicly credited in the August 2026 advisory at time of writing.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to MEDIUM (5.5/10)

The single most decisive factor is the local-access prerequisite: exploitation requires the attacker to already have code execution as a standard user on the target, meaning the entire chain is post-initial-access and cannot be triggered remotely. The affected component is a consumer phone-linking service with no privileged network role, capping blast radius at a single host.

HIGH Vulnerability mechanics and attack path (well-understood DLL hijack pattern with prior PoC)
MEDIUM Enterprise prevalence of Cross Device Service (varies by SOE image)
HIGH No active exploitation or KEV listing

Why this verdict

  • Local-only vector compounds friction. AV:L means the attacker must already be on the box. This is a privilege-escalation link in a chain, not an entry point. Every host with EDR adds a detection gate before step 1 even begins.
  • Consumer-oriented service with low enterprise footprint. The Cross Device Service powers Phone Link — a feature many enterprises disable via GPO (Computer Configuration > Administrative Templates > System > Group Policy > Phone-PC linking) or strip from their SOE image entirely. The reachable population on a managed fleet is likely <30%.
  • No active exploitation, no KEV, EPSS 3rd percentile. There is zero threat-intelligence pressure to accelerate this patch. The temporal score already discounts to 6.8.
  • Role multiplier: Cross Device Service is *not* a high-value-role component. It does not run on domain controllers, hypervisors, identity providers, backup servers, or CI/CD infrastructure in any standard deployment. On Windows Server 2025 the feature is present but rarely enabled. The blast radius is single-host SYSTEM — useful for an attacker who is already inside, but it does not unlock domain-scale or fleet-scale compromise. No floor override applies.
  • Predecessor PoC lowers exploit-development cost. The CVE-2025-24076 PoC on Exploit-DB is directly adaptable, which prevents a full downgrade to LOW. A motivated attacker with local access could weaponize this quickly.

Why not higher?

The vendor's HIGH (7.8) is a pure CVSS base-score artifact. The local-access prerequisite, consumer-service scope, absence of any remote or network vector, no active exploitation, and no high-value-role relevance all compound to reduce real-world risk well below HIGH. There is no scenario where this single vulnerability alone gives an attacker entry to a network or scales beyond one host.

Why not lower?

A full downgrade to LOW would underweight the fact that a weaponized PoC for an identical pattern already exists publicly and the exploit requires no user interaction (UI:N). On endpoints where the Cross Device Service is running, any standard user can reach SYSTEM with minimal complexity. That reliable local priv-esc still has value in red-team chains and post-compromise scenarios.

05 · Compensating Control

What to do — in priority order.

  1. Disable or remove the Cross Device Service via GPO or DISM — Set the Group Policy Computer Configuration > Administrative Templates > System > Group Policy > Configure phone-PC linking on this device to Disabled, or run DISM /Online /Remove-Capability /CapabilityName:CrossDevice~~~~ on your golden image. This eliminates the attack surface entirely. No noisgate mitigation SLA applies for MEDIUM — go straight to the 365-day remediation window for the patch itself.
  2. Restrict writes to C:\ProgramData\CrossDevice via NTFS ACL — Remove write permissions for the Users and Authenticated Users groups on C:\ProgramData\CrossDevice. This breaks the DLL-plant step without disabling the service. Test in a pilot ring first — Phone Link may stop working.
  3. Deploy WDAC or AppLocker DLL rules for ProgramData — Create a code-integrity rule that blocks unsigned or untrusted DLLs from loading out of C:\ProgramData\*. This catches this CVE and the entire class of ProgramData DLL-hijack vulnerabilities.
  4. Monitor with Sysmon or EDR for DLL loads from CrossDevice path — Alert on Sysmon Event ID 7 where ImageLoaded matches C:\ProgramData\CrossDevice\*.dll and the signature status is unsigned. This gives detection-in-depth while you schedule the patch.
What doesn't work
  • Network segmentation / firewall rules — this is a local privilege escalation, not a network attack. Firewalls do nothing.
  • MFA / conditional access — the attacker already has local code execution; authentication controls are upstream of this vulnerability.
  • Disabling Phone Link the app — the underlying CrossDeviceService may still be registered and loadable even if the Store app is removed. You must disable the *service* or remove the *capability*.
06 · Verification

Crowdsourced verification payload.

Run this on each target Windows host as any user (no admin required). Example: powershell -ExecutionPolicy Bypass -File .\Check-CVE-2026-66804.ps1. It checks whether the Cross Device Service is present and whether the August 2026 patch is installed.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#Requires -Version 5.1
<# Check-CVE-2026-66804.ps1
   Checks whether the host is vulnerable to CVE-2026-66804
   (Windows Cross Device Service EoP via DLL hijack).
   Output: VULNERABLE / PATCHED / UNKNOWN
   Exit codes: 1 = VULNERABLE, 0 = PATCHED, 2 = UNKNOWN
#>

$ErrorActionPreference = 'Stop'

# 1. Check if Cross Device Service capability is present
$capability = Get-WindowsCapability -Online -Name 'CrossDevice*' 2>$null
$servicePresent = $false
if ($capability -and $capability.State -eq 'Installed') {
    $servicePresent = $true
}

if (-not $servicePresent) {
    Write-Host 'PATCHED - Cross Device capability is not installed on this host. Not vulnerable.'
    exit 0
}

# 2. Check OS build for August 2026 patch level
try {
    $build = [System.Environment]::OSVersion.Version
    $ubr = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name UBR).UBR
    $fullBuild = "$($build.Build).$ubr"
    Write-Host "OS Build: $fullBuild"

    # August 2026 patches - build thresholds (approximate; adjust per your SKU)
    # Win11 24H2: 26100.33222+
    # Win11 23H2: 22631.xxxxx (check your CU KB)
    $patchedBuilds = @{
        26100 = 33222   # 24H2 / Server 2025
        22631 = 50000   # 23H2 placeholder - adjust to actual patched UBR
        22621 = 50000   # 22H2 placeholder - adjust to actual patched UBR
    }

    if ($patchedBuilds.ContainsKey($build.Build)) {
        $requiredUBR = $patchedBuilds[$build.Build]
        if ($ubr -ge $requiredUBR) {
            Write-Host "PATCHED - Build $fullBuild meets or exceeds the August 2026 fix."
            exit 0
        } else {
            Write-Host "VULNERABLE - Build $fullBuild is below the patched UBR ($requiredUBR). Cross Device Service is installed."
            exit 1
        }
    } else {
        Write-Host "UNKNOWN - OS build $($build.Build) not in check list. Verify manually."
        exit 2
    }
} catch {
    Write-Host "UNKNOWN - Error querying OS version: $_"
    exit 2
}
07 · Bottom Line

If you remember one thing.

TL;DR
This is a MEDIUM local privilege escalation in a consumer phone-linking service. There is no active exploitation, no KEV listing, and EPSS is at the 3rd percentile. Under the noisgate remediation SLA for MEDIUM, there is no mitigation SLA — go straight to the 365-day remediation window and bundle this with your next quarterly cumulative-update cycle. If your SOE already strips the Cross Device capability or disables Phone Link via GPO, you are not exposed and can deprioritize further. For hosts where the service is present, apply the August 2026 cumulative update at your normal cadence. Monday morning action: confirm whether your golden image includes the Cross Device capability (Get-WindowsCapability -Online -Name CrossDevice*). If it does and you do not use Phone Link, remove it fleet-wide via DISM and close the ticket. Do not burn emergency change-window capital on this.

Sources

  1. SANS ISC - Microsoft Patch Tuesday August 2026
  2. Talos Intelligence - Microsoft Patch Tuesday August 2026
  3. Tenable - August 2026 Patch Tuesday (398 CVEs)
  4. Exploit-DB #52320 - Cross Device Service EoP PoC (CVE-2025-24076)
  5. Microsoft Support - KB5120228 Server 2025 August 2026
  6. Petri - August 2026 Patch Tuesday Overview
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.