CVE-2025-49723 Overview
CVE-2025-49723 is a missing authorization vulnerability [CWE-862] in the Windows StateRepository API. The StateRepository service stores metadata for installed applications, packages, and user state on modern Windows systems. The flaw allows an authenticated local attacker to tamper with data managed by the API because access control checks are not enforced correctly. Successful exploitation impacts confidentiality, integrity, and availability, and because the vulnerability crosses a security boundary the scope is changed. Microsoft has published an advisory and released updates for supported Windows client and server editions.
Critical Impact
A low-privileged local user can tamper with StateRepository-managed state and pivot to affect components outside the calling process's original authorization scope.
Affected Products
- Microsoft Windows 10 (1809, 21H2, 22H2)
- Microsoft Windows 11 (22H2, 23H2, 24H2)
- Microsoft Windows Server 2019, 2022, 2022 23H2, and 2025
Discovery Timeline
- 2025-07-08 - CVE-2025-49723 published to the National Vulnerability Database
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-49723
Vulnerability Analysis
The Windows StateRepository API brokers access to a system-wide database that tracks installed packages, application identity, and per-user state. The API is designed to be callable by lower-privileged callers, but individual operations are supposed to be gated by authorization checks before mutating shared state. In CVE-2025-49723, one or more code paths fail to verify that the caller is authorized for the requested operation.
An authenticated attacker running code locally can invoke the affected paths and modify state that should be reserved for higher-privileged components. Because the StateRepository is consumed by system services and other user sessions, unauthorized modifications propagate outside the attacker's own security context. This is why the vector carries a changed scope and high impact on confidentiality, integrity, and availability.
The issue does not require user interaction, and attack complexity is low. Exploitation is constrained to local access, so the vulnerability is most relevant to multi-user hosts, terminal servers, VDI environments, and any system where untrusted code executes under a standard user account.
Root Cause
The root cause is a missing authorization check [CWE-862] within the StateRepository API surface. The service exposes operations that mutate shared metadata, but at least one entry point does not validate that the caller holds the required privilege before applying changes to protected records.
Attack Vector
The attacker must first obtain the ability to run code as a standard user on the target system. From that context, the attacker calls into the vulnerable StateRepository API and issues operations that alter package or application state. Because the authorization check is absent, the tampering succeeds even though the caller lacks administrative rights. Microsoft has not published exploit details, and no public proof-of-concept has been observed in the references provided. See the Microsoft CVE-2025-49723 Advisory for vendor guidance.
Detection Methods for CVE-2025-49723
Indicators of Compromise
- Unexpected modifications to StateRepository databases under %ProgramData%\Microsoft\Windows\AppRepository\ on client or server systems.
- Non-administrative processes invoking StateRepository RPC interfaces or the StateRepository.Core.dll surface outside normal application install and update flows.
- Anomalous package registration, deregistration, or metadata changes that do not correlate with an authorized Windows Update, MSIX install, or Microsoft Store transaction.
Detection Strategies
- Monitor process creation and image load events for standard-user processes that load StateRepository client libraries or call into the StateRepository service.
- Alert on integrity changes to files under the AppRepository directory when the initiating process is not svchost.exe hosting the StateRepository service or a trusted installer.
- Correlate Windows event logs for AppX, DeploymentClient, and StateRepository providers with authentication data to identify tampering by non-privileged accounts.
Monitoring Recommendations
- Enable Sysmon or an equivalent EDR telemetry source to record file writes and named-pipe or RPC connections targeting StateRepository components.
- Baseline normal package install and update activity per host so deviations by interactive user sessions can be flagged.
- Feed endpoint telemetry into a centralized analytics platform and retain it long enough to reconstruct multi-stage local privilege abuse.
How to Mitigate CVE-2025-49723
Immediate Actions Required
- Apply the Microsoft security update referenced in the Microsoft CVE-2025-49723 Advisory to all affected Windows 10, Windows 11, and Windows Server builds.
- Prioritize patching on multi-user systems such as RDS hosts, Citrix and AVD VDI images, jump servers, and developer workstations where local code execution is common.
- Audit local group membership and remove unnecessary interactive logon rights for standard users on servers.
Patch Information
Microsoft addressed CVE-2025-49723 in the July 2025 security update cycle. Refer to the vendor advisory for the specific KB article and cumulative update mapped to each affected build listed above. Verify deployment through Windows Update, WSUS, Intune, or Configuration Manager compliance reporting.
Workarounds
- No official workaround has been published by Microsoft; patching is the supported remediation path.
- Reduce exposure by restricting local logon rights and enforcing application control policies such as Windows Defender Application Control or AppLocker to limit which binaries a standard user can execute.
- Isolate high-value multi-user hosts behind privileged access workstations until patches are validated and deployed.
# Verify the patch is installed (run in elevated PowerShell)
Get-HotFix | Sort-Object -Property InstalledOn -Descending | Select-Object -First 20
# Confirm the StateRepository service is running under the expected identity
Get-CimInstance Win32_Service -Filter "Name='StateRepository'" |
Select-Object Name, StartName, State, PathName
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

