What is the Windows Kernel Streaming Service?
The Windows Kernel Streaming Service (ks.sys) is a kernel-mode driver that provides a framework for streaming audio and video data between hardware devices (sound cards, webcams, capture cards) and applications. It manages internal data structures called filter graphs and pins that represent streaming pipelines and exposes an IOCTL interface that allows user-mode applications to configure and control the streaming pipeline. Because ks.sys is accessible from any user-mode process that opens a streaming device, it represents a broad attack surface for local privilege escalation.
Overview
CVE-2024-35250 is an untrusted pointer dereference vulnerability in the Windows Kernel Streaming Service driver (ks.sys) that allows a local, low-privileged attacker to escalate to SYSTEM. The vulnerability was discovered and demonstrated by the DEVCORE research team at Pwn2Own Vancouver 2024. Microsoft patched it in June 2024 Patch Tuesday; CISA added it to the KEV catalog in December 2024 — six months after the patch — confirming that threat actors exploited the publicly-known vulnerability against unpatched systems.
Affected Versions
| OS | Status |
|---|---|
| Windows 10 (all supported versions) | Patched June 2024 Patch Tuesday |
| Windows 11 (all supported versions) | Patched June 2024 Patch Tuesday |
| Windows Server 2019 and later | Patched June 2024 Patch Tuesday |
Technical Details
CWE-822 (Untrusted Pointer Dereference). The ks.sys driver processes IOCTL requests from user-mode applications, including requests that pass data structures containing embedded pointers. A flaw in the driver's validation logic allows a user-mode caller to supply a crafted structure with an attacker-controlled pointer value. When the driver dereferences this pointer without adequate validation, the kernel reads from or writes to an arbitrary memory address chosen by the attacker.
The typical exploitation path: send a crafted IOCTL to ks.sys with an embedded pointer to a controlled kernel address → trigger the untrusted dereference → achieve a read or write primitive → use the primitive to overwrite the calling process's security token with SYSTEM-level privileges. The Low Attack Complexity (AC:L) rating indicates the exploit is reliable without requiring timing or race conditions — the untrusted pointer can be directly specified in the IOCTL payload.
DEVCORE demonstrated this vulnerability as part of a local privilege escalation chain at Pwn2Own, which typically involves combining it with a preceding step that places a malicious binary on the system.
Discovery
Discovered by DEVCORE security researchers and demonstrated at Pwn2Own Vancouver 2024. DEVCORE is a Taiwanese security research firm known for chaining multiple vulnerabilities into complete intrusion scenarios; their Pwn2Own submission likely combined CVE-2024-35250 with an initial code execution bug to achieve a complete local privilege escalation chain.
Exploitation Context
Pwn2Own demonstrations are a reliable signal that a vulnerability is both fully exploitable and will eventually appear in the wild — the research is thorough and public details surface after the competition. The six-month delay from June patch to December KEV addition is consistent with a pattern where threat actors wait for a PoC or detailed write-up to emerge post-patch, then weaponize it against enterprises that have not applied the update. The absence of ransomware use in the CISA catalog entry may reflect that exploitation was detected in targeted intrusion campaigns rather than mass ransomware deployments.
Remediation
- Apply the June 2024 Windows security updates (Patch Tuesday, June 11, 2024) to all affected systems — prioritize any Windows system that has not received security updates since May 2024.
- Enable virtualization-based security (VBS) and Hypervisor-Protected Code Integrity (HVCI) to increase the difficulty of kernel driver exploitation.
- Consider restricting access to streaming device IOCTLs via application control policies if kernel streaming functionality is not required on high-value systems (servers, admin workstations).
- Monitor for unusual process privilege changes or unexpected SYSTEM-level processes created from low-privilege user sessions.
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2024-35250 |
| Vendor / Product | Microsoft — Windows |
| NVD Published | 2024-06-11 |
| NVD Last Modified | 2025-10-28 |
| CVSS 3.1 Score | 7.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Severity | HIGH |
| CWE | CWE-822 find similar ↗ |
| CISA KEV Added | 2024-12-16 |
| CISA KEV Deadline | 2025-01-06 |
| Known Ransomware Use | No |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2024-03-20 | DEVCORE demonstrates CVE-2024-35250 at Pwn2Own Vancouver 2024 |
| 2024-06-11 | Microsoft releases June 2024 Patch Tuesday patching CVE-2024-35250 |
| 2024-12-16 | Added to CISA Known Exploited Vulnerabilities catalog — confirms active exploitation 6 months after patch |
| 2025-01-06 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| Microsoft Security Advisory — CVE-2024-35250 | Vendor Advisory |
| NVD — CVE-2024-35250 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |
| DEVCORE Research — CVE-2024-35250 and Windows Kernel Streaming | Security Research |