← Back to Feed CACHED · 2026-07-20 10:15:51 · CACHE_KEY CVE-2026-50454
CVE-2026-50454 · CWE-23 · Disclosed 2026-07-14

Relative path traversal in Windows User Interface Core

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

A janitor's key that only works once you're already inside the building

CVE-2026-50454 is a relative path traversal (CWE-23) in the Windows User Interface Core component, disclosed in Microsoft's July 2026 Patch Tuesday. A low-privileged local user can supply a crafted relative path that the UI Core resolves outside its intended directory, letting the attacker write to or load files from privileged locations — the standard route to SYSTEM on the affected host. Affected surface covers current Windows 10, Windows 11, and Windows Server SKUs receiving the July 2026 cumulative rollup; hosts patched at or above the July 2026 baseline (KB series shipped 2026-07-14) are fixed.

Microsoft's HIGH / 7.8 rating is arithmetically correct — full CIA impact with low complexity — but it's the same score every commodity Windows EoP gets each month. The CVSS math doesn't distinguish 'attacker already has a shell and needs SYSTEM' from 'attacker touches the box from the internet.' With AV:L / PR:L, no PoC in the wild, EPSS 0.4%, and no KEV listing, this is a *post-exploitation amplifier*, not an initial-access bug. It matters, but not this-week-matters.

"Textbook local EoP — real if an attacker is already on the box, invisible if they aren't. Ride the Patch Tuesday train."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Obtain low-privileged local execution

The attacker must already be running code on the target as any authenticated user — an interactive session, an RDP foothold, a phish-delivered payload under a standard user, or a lateral-movement landing from another compromised host. Nothing in this CVE gets the attacker to this point; it is the prerequisite. Common tooling at this stage: Cobalt Strike, Sliver, Mythic, or a plain PowerShell reverse shell.
Conditions required:
  • Valid local or domain user credentials, or an existing code-execution primitive on the host
  • AppLocker / WDAC not blocking the attacker's loader
Where this breaks in practice:
  • EDR (Defender for Endpoint, CrowdStrike, SentinelOne) blocks most commodity loaders
  • ASR rules and constrained language mode kill naive PowerShell payloads
  • Users with genuinely locked-down endpoints and Credential Guard rarely reach this state without a prior CVE
Detection/coverage: Standard EDR process-tree telemetry; Sysmon Event ID 1 with parent-child anomalies covers the majority of loader activity.
STEP 02

Craft the traversal payload against Windows UI Core

The attacker invokes the vulnerable UI Core code path with a relative path such as ..\..\Windows\System32\<target> to reach a location the low-priv token normally cannot reach. Depending on the sink, this yields either arbitrary file write into a SYSTEM-writable directory or a controlled DLL load from a directory the attacker controls. Weaponization is typical James Forshaw / Project Zero-style primitive chaining — expect a public PoC via SharpUp, PrintSpoofer-lineage tooling, or a fresh entry in itm4n/PrivescCheck within weeks.
Conditions required:
  • Vulnerable UI Core binary present (unpatched July 2026 or earlier baseline)
  • Writable path or hijackable module load resolvable from the traversal
Where this breaks in practice:
  • Attack surface reduction rule 'Block credential stealing from lsass' and PPL do not stop this, but do reduce follow-on value
  • Some SKUs' UI Core surface is only reachable when specific optional features are installed
Detection/coverage: No commodity signature yet. Sysmon Event ID 11 (file create) in %SystemRoot% by non-SYSTEM tokens and Event ID 7 (image load) from user-writable paths are the durable detections.
STEP 03

Escalate to SYSTEM and pivot

The write-or-load primitive is converted to code execution under the privileged UI Core service context, which runs as SYSTEM on affected SKUs. From SYSTEM, the attacker dumps LSASS with mimikatz or nanodump, harvests machine account credentials, and pivots. On a domain-joined workstation this yields the machine account and cached credentials; on a member server it yields service accounts; on a DC it yields the domain.
Conditions required:
  • Successful primitive from step 2
  • LSASS not protected as PPL, or PPL bypass available
Where this breaks in practice:
  • Credential Guard on Windows 11 Enterprise blocks the credential harvest half of the chain
  • EDR memory-scanning catches mimikatz signatures reliably; nanodump variants are hit-or-miss
Detection/coverage: LSASS access telemetry (Defender for Endpoint 'Suspicious LSASS access', Elastic 'lsass_memory_dump_handle_access') is mature and high-fidelity.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo known exploitation. Not present in CISA KEV as of 2026-07-20. No vendor or third-party attribution to named actors.
Proof-of-conceptNone public at time of writing. Expect a research writeup within 30-60 days from the usual EoP crowd (itm4n, decoder, SandboxEscaper-lineage researchers).
EPSS0.00402 (~0.4%) — bottom quartile. Consistent with 'local EoP, no PoC yet.'
KEV statusNot listed. Would require documented exploitation, which does not exist.
CVSS vectorCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Hlocal vector is the ceiling; the score cannot rise without a remote precondition.
Affected versionsWindows 10 (all supported branches), Windows 11 (22H2, 23H2, 24H2), Windows Server 2016/2019/2022/2025 running baselines prior to July 2026 cumulative.
Fixed versionsJuly 2026 Patch Tuesday cumulative updates (KB series dated 2026-07-14). No out-of-band or backport considerations — this is an OS component, single vendor.
Exposure telemetryNot applicable — AV:L means Shodan/Censys/GreyNoise scans are irrelevant. Population = every unpatched Windows host with a logged-in user.
Disclosed2026-07-14 (Microsoft Patch Tuesday).
ReporterCredited via MSRC advisory — see Microsoft's Security Update Guide entry for finder attribution.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to MEDIUM (6.0/10)

The single decisive factor is AV:L + PR:L: an attacker must already hold code execution as an authenticated user on the target host before this bug is reachable, which relegates it to a post-foothold amplifier rather than a standalone incident driver. With no KEV listing, no public PoC, and EPSS in the bottom quartile, the reachable population that also has an active attacker chain is a small fraction of the installed base.

HIGH Local-only attack vector and prerequisite foothold requirement
HIGH Absence of in-the-wild exploitation and KEV listing as of assessment date
MEDIUM PoC availability trajectory — Windows EoPs of this shape typically see public PoCs within 30-90 days

Why this verdict

  • Local vector caps the ceiling: AV:L means every successful use of this bug is preceded by a separate initial-access event that already triggered EDR, phishing, or credential controls.
  • No exploitation signal: EPSS 0.4%, no KEV, no named-actor attribution, no public PoC — the empirical urgency is low.
  • Role multiplier — workstation (typical role, ~80%+ of installs): Chain succeeds, blast radius is SYSTEM-on-host + cached credentials. Meaningful but bounded to that host and its user's Kerberos tickets.
  • Role multiplier — member server (typical, ~15% of installs): Chain succeeds, blast radius is SYSTEM plus service-account credentials. Bounded to that host's trust relationships.
  • Role multiplier — domain controller (high-value, small share of installs but canonical): Chain succeeds if a low-priv logon on the DC is possible; blast radius is domain compromise. This keeps the floor from dropping below MEDIUM, but the DC-local-logon precondition (a hardened DC should reject interactive logons for non-Tier-0 principals) prevents the floor from rising to HIGH on the strength of this role alone.
  • Commodity EoP shape: Microsoft ships 5-15 of these per Patch Tuesday. Treating each one as HIGH creates alert fatigue and displaces attention from truly remote or KEV-listed bugs the same month.

Why not higher?

HIGH would require either credible in-the-wild exploitation, a weaponized public PoC, or a remote/pre-auth vector. None of those exist here. The AV:L constraint means it cannot function as an initial-access primitive, only as an amplifier for one you already have.

Why not lower?

LOW / IGNORE is wrong because SYSTEM escalation is a genuine outcome, the component is universally deployed, and a public PoC is a near-certainty on a 30-90 day horizon. Once a PoC lands, red teams and ransomware affiliates fold it into standard toolkits within days — the bug will earn its keep in real intrusions, just not as the entry point.

05 · Compensating Control

What to do — in priority order.

  1. Deploy the July 2026 cumulative update on the normal Patch Tuesday cadence — This is a MEDIUM verdict — no noisgate mitigation SLA applies. Fold the update into your standard monthly ring rollout: pilot ring within 7 days, broad workstation deployment within 21 days, servers within 30-45 days. Full remediation within the 365-day noisgate remediation SLA is the ceiling, but standard Patch Tuesday hygiene will beat that comfortably.
  2. Enforce LSASS as a protected process (PPL) and enable Credential Guard where licensed — Breaks the *post-SYSTEM* half of the chain by preventing credential harvest, which is what makes a local EoP dangerous beyond one host. Deploy as standing hardening — not tied to this CVE.
  3. Confirm EDR is tuned for suspicious LSASS access and image-load-from-user-writable-path — These telemetry classes catch step 3 of the chain reliably. If your EDR policy is in audit-only mode for these, promote to block on Tier-0 and Tier-1 assets.
  4. Constrain interactive logon on Tier-0 assets (DCs, PKI, backup, PAM) — Group Policy Deny log on locally and Deny log on through Remote Desktop Services for anything below the admin tier removes the DC-role uplift path entirely. Standing control, not CVE-specific.
What doesn't work
  • Perimeter WAF / IPS rules — the vector is AV:L. No network signature can see this because no network traffic carries it.
  • Blocking outbound C2 — the chain occurs entirely on the local host; egress controls don't touch it.
  • MFA on RDP / VPN — helpful for reducing the *precondition* foothold, but does not affect the vuln itself once the attacker is executing code as any user.
  • Removing local admin rights — this bug's whole point is that a low-privileged user reaches SYSTEM. Least-privilege on user accounts does not stop it.
06 · Verification

Crowdsourced verification payload.

Run on each target Windows host as any user (elevated not required for the version check). Example invocation from an admin console: Invoke-Command -ComputerName host01 -FilePath .\Check-CVE-2026-50454.ps1. For fleet checks, wrap in your existing PowerShell remoting or MECM/Intune script deployment.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
#requires -Version 5.1
# Check-CVE-2026-50454.ps1
# Detects whether the July 2026 Patch Tuesday cumulative (fix for CVE-2026-50454) is installed.
# Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN

$ErrorActionPreference = 'Stop'

# Minimum patched build numbers per Windows major version (from MSRC July 2026 advisory family).
# Adjust the right-hand side if you have the exact KB build for your SKU.
$fixedBuilds = @{
    '10.0.19045' = 6332   # Windows 10 22H2
    '10.0.22621' = 5039   # Windows 11 22H2
    '10.0.22631' = 4460   # Windows 11 23H2
    '10.0.26100' = 4652   # Windows 11 24H2 / Server 2025
    '10.0.20348' = 3695   # Server 2022
    '10.0.17763' = 7434   # Server 2019
    '10.0.14393' = 8321   # Server 2016
}

try {
    $os = Get-CimInstance -ClassName Win32_OperatingSystem
    $ver = $os.Version                       # e.g. 10.0.22631
    $build = [int]($ver.Split('.')[2])
    $rev = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion' -Name UBR).UBR
    $majorMinorBuild = "$($ver.Split('.')[0]).$($ver.Split('.')[1]).$build"

    if (-not $fixedBuilds.ContainsKey($majorMinorBuild)) {
        Write-Output "UNKNOWN - unrecognized OS build $majorMinorBuild.$rev"
        exit 2
    }

    $required = $fixedBuilds[$majorMinorBuild]
    if ($rev -ge $required) {
        Write-Output "PATCHED - $majorMinorBuild.$rev >= $majorMinorBuild.$required"
        exit 0
    } else {
        Write-Output "VULNERABLE - $majorMinorBuild.$rev < $majorMinorBuild.$required (CVE-2026-50454)"
        exit 1
    }
} catch {
    Write-Output "UNKNOWN - $($_.Exception.Message)"
    exit 2
}
07 · Bottom Line

If you remember one thing.

TL;DR
This is a Patch-Tuesday-cadence bug, not a fire drill. Because the reassessed verdict is MEDIUM, the noisgate mitigation SLA does not apply — go straight to the noisgate remediation SLA of ≤ 365 days, which your normal monthly rollout will beat by an order of magnitude. Monday morning: confirm the July 2026 cumulative is in your pilot ring, target broad workstation deployment by end of month and server tiers within 45 days. In parallel, verify LSASS PPL / Credential Guard and EDR coverage for LSASS-access and user-writable-path image loads — those controls neuter the chain regardless of this specific CVE. If a public PoC drops or CISA adds this to KEV, re-baseline to CRITICAL urgency (patch within hours) and skip straight to emergency deployment.

Sources

  1. Microsoft Security Update Guide — July 2026
  2. Talos — Microsoft Patch Tuesday July 2026
  3. BleepingComputer — Microsoft July 2026 Patch Tuesday coverage
  4. CISA Known Exploited Vulnerabilities Catalog
  5. FIRST EPSS model
  6. CWE-23: Relative Path Traversal
  7. NVD entry (CVE-2026-50454)
  8. Microsoft Defender — LSASS protection guidance
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.