Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-59515

CVE-2025-59515: Windows 10 1809 Use-After-Free Vulnerability

CVE-2025-59515 is a use-after-free vulnerability in Windows 10 1809 Broadcast DVR User Service that allows local privilege escalation. This article covers the technical details, affected versions, security impact, and mitigation.

Updated:

CVE-2025-59515 Overview

CVE-2025-59515 is a use-after-free vulnerability [CWE-416] in the Windows Broadcast DVR User Service. An authorized local attacker can exploit the flaw to elevate privileges on affected systems. Microsoft disclosed the issue on November 11, 2025, and it affects a broad range of Windows client and server versions, including Windows 10, Windows 11, and Windows Server 2019 through 2025.

The vulnerability requires local access and low privileges, but the attack complexity is high due to the race condition inherent in exploiting freed memory. Successful exploitation compromises confidentiality, integrity, and availability of the target host.

Critical Impact

A low-privileged local user can leverage the Broadcast DVR User Service to execute code with elevated privileges, enabling full compromise of the affected Windows host.

Affected Products

  • Microsoft Windows 10 (versions 1809, 21H2, 22H2)
  • Microsoft Windows 11 (versions 23H2, 24H2, 25H2)
  • Microsoft Windows Server 2019, Server 2022 23H2, and Server 2025

Discovery Timeline

  • 2025-11-11 - CVE-2025-59515 published to NVD
  • 2025-11-11 - Microsoft releases security advisory and patch
  • 2026-06-17 - Last updated in NVD database

Technical Details for CVE-2025-59515

Vulnerability Analysis

The flaw resides in the Windows Broadcast DVR User Service (BcastDVRUserService), a per-user service responsible for game recording and broadcasting features introduced with the Windows Game DVR functionality. A use-after-free condition occurs when the service references a memory object after that object has been released. An authorized attacker who can interact with the service through its inter-process communication surface can trigger the dangling reference and manipulate the freed memory region.

Because the service runs with elevated privileges relative to a standard user session, controlling the reused memory allocation permits hijacking execution flow inside a higher-privileged context. This yields a local elevation of privilege path from a standard user account to SYSTEM-level code execution on the affected host.

Root Cause

The root cause is improper object lifetime management inside the Broadcast DVR User Service [CWE-416]. Specific object references are not invalidated after the underlying allocation is freed, allowing subsequent operations to dereference stale pointers. An attacker who reallocates the freed region with controlled data can influence the service's behavior when the stale pointer is used.

Attack Vector

Exploitation requires local access with a valid, low-privileged user account. The attacker must win a race condition to trigger the use-after-free and then place controlled data into the freed memory region before the service reuses the reference. No user interaction is required beyond the attacker's own actions. Refer to the Microsoft CVE-2025-59515 Advisory for vendor-provided technical context.

No public proof-of-concept or in-the-wild exploitation has been reported at the time of publication.

Detection Methods for CVE-2025-59515

Indicators of Compromise

  • Unexpected crashes or restarts of BcastDVRUserService or its per-user variants (BcastDVRUserService_*) in the System event log.
  • New processes spawned as SYSTEM whose parent chain traces back to svchost.exe hosting the Broadcast DVR User Service.
  • Standard user sessions performing token or process manipulation against Broadcast DVR service handles.

Detection Strategies

  • Monitor Windows Error Reporting and application crash telemetry for faults inside BcastDVRUserService binaries.
  • Correlate service crashes with subsequent privileged process creation from the same user session within a short time window.
  • Baseline expected behavior of the Broadcast DVR service on server SKUs, where the service should rarely be exercised by interactive users.

Monitoring Recommendations

  • Enable Sysmon Event ID 1 (process create) and Event ID 10 (process access) to capture handle requests against the Broadcast DVR service.
  • Alert on process creations under svchost.exe -k netsvcs chains that yield SYSTEM tokens after Broadcast DVR service instability.
  • Forward Windows Security and System logs to a centralized analytics platform for cross-host correlation.

How to Mitigate CVE-2025-59515

Immediate Actions Required

  • Apply the November 2025 Microsoft security updates addressing CVE-2025-59515 across all affected Windows client and server SKUs.
  • Prioritize patching multi-user hosts, jump boxes, and Remote Desktop Session Hosts where local low-privileged users are common.
  • Audit local account membership and remove unnecessary interactive logon rights on servers.

Patch Information

Microsoft issued security updates for all affected versions through the November 2025 Patch Tuesday release. Consult the Microsoft CVE-2025-59515 Advisory for the specific KB numbers matching each Windows build and deploy them through Windows Update, WSUS, or your enterprise patch management platform.

Workarounds

  • Disable the Broadcast DVR User Service (BcastDVRUserService) on server SKUs and workstations that do not require Game DVR functionality.
  • Restrict interactive logon on Windows Server 2019, 2022, and 2025 systems to administrative personnel only, reducing the pool of authorized local attackers.
  • Apply application control policies to prevent unauthorized binaries from executing in standard user contexts that could trigger the race condition.
bash
# Disable the Broadcast DVR User Service where Game DVR is not required
# Run from an elevated PowerShell prompt
Get-Service -Name "BcastDVRUserService_*" | Stop-Service -Force
Set-Service -Name "BcastDVRUserService" -StartupType Disabled

# Verify service state
Get-Service -Name "BcastDVRUserService*" | Format-Table Name, Status, StartType

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.