What is Windows Print Spooler?
The Windows Print Spooler service (spoolsv.exe) manages print jobs and communication with printers across Windows. It runs as SYSTEM on all Windows versions and domain controllers, and is enabled by default. The Print Spooler exposes a network RPC interface that allows remote computers to add printers and printer drivers. This design — a SYSTEM-privileged service that installs third-party code (printer drivers) on behalf of clients — creates an inherently dangerous attack surface. A flaw in how Print Spooler validates driver installation requests allows attackers to load arbitrary DLLs as SYSTEM, achieving privilege escalation or remote code execution. Print Spooler vulnerabilities have become one of the most exploited Windows attack surfaces since 2021.
Overview
CVE-2021-1675 is a Windows Print Spooler local privilege escalation vulnerability and part of the PrintNightmare vulnerability cluster. Originally patched in June 2021 Patch Tuesday as a moderate LPE, the Print Spooler bug family exploded into a critical incident when researchers published a proof-of-concept on June 29, 2021 demonstrating both local and remote exploitation. A companion CVE (CVE-2021-34527) was assigned for the remote code execution vector. CVE-2021-1675 represents the local privilege escalation component: a low-privileged user can exploit the Print Spooler to load a malicious DLL and execute code as SYSTEM. Ransomware groups rapidly incorporated Print Spooler exploitation into their attack playbooks. CISA added CVE-2021-1675 to the KEV catalog in November 2021.
Affected Versions
| Product | Vulnerable | Fixed |
|---|---|---|
| Windows 7 SP1 / Server 2008 R2 | Yes | June 2021 Patch Tuesday + emergency July patch |
| Windows 10 (all versions) | Yes | June 2021 Patch Tuesday + emergency July patch |
| Windows 11 | Yes | Emergency out-of-band patch July 2021 |
| Windows Server 2016/2019/2022 | Yes | Emergency out-of-band patch July 2021 |
| Windows Server 2008/2012/2016 | Yes | Emergency out-of-band patch July 2021 |
Technical Details
- Root cause: The Windows Print Spooler
RpcAddPrinterDriverEx()API function allows authenticated users (in some configurations, including domain users) to install printer drivers — the driver installation process loads attacker-controlled DLL files as SYSTEM without adequate validation of the driver binary's authenticity or source - LPE mechanism: A low-privileged local user calls the Print Spooler API with a reference to a malicious DLL they control; the SYSTEM-privileged spoolsv.exe process loads and executes the DLL — granting the attacker SYSTEM-level code execution
- RCE variant (CVE-2021-34527): The same Print Spooler API is exposed remotely via RPC; an authenticated network user can call it from a remote machine to install the malicious driver on the target — achieving RCE without local access
- Domain controller impact: Domain controllers run Print Spooler by default and all domain users are authenticated users; this means any domain account can potentially escalate to SYSTEM on domain controllers via PrintNightmare
- CVSS discrepancy: The CVSS AV:L rating reflects the local exploitation scenario; the companion CVE-2021-34527 (CVSS 8.8, AV:N) covers the more severe remote exploitation vector — both vulnerabilities share the same underlying Print Spooler design flaw
Discovery
CVE-2021-1675 was originally reported and patched in June 2021 Patch Tuesday. The PrintNightmare crisis emerged when researchers published a PoC on GitHub on June 29, 2021, demonstrating that the Print Spooler attack surface was broader than initially understood — enabling remote code execution in addition to local escalation. Microsoft rapidly published CVE-2021-34527 and issued an emergency out-of-band patch in early July 2021. The ransomware exploitation began within days of the public PoC release.
Exploitation Context
PrintNightmare became one of the most widely exploited vulnerabilities of 2021 within days of the public PoC. Ransomware operators — including Magniber, Vice Society, and others — incorporated Print Spooler exploitation into their post-initial-access playbooks for two primary uses: (1) privilege escalation on endpoints where a low-privileged account was obtained, and (2) lateral movement and code execution on domain controllers to gain domain admin. Domain controllers are particularly impactful targets because domain admin access enables mass ransomware deployment across the entire organization. The CISA KEV addition in November 2021 confirmed the ransomware use that was already widely reported.
Remediation
- Apply the June 2021 Patch Tuesday update AND the emergency out-of-band patch (July 2021) for CVE-2021-34527 — both are required; June Patch Tuesday alone does not fully address PrintNightmare
- For domain controllers specifically: Disable Print Spooler on domain controllers if printing is not required — DCs rarely need to be print servers:
Stop-Service -Name Spooler -Force Set-Service -Name Spooler -StartupType Disabled - Point and Print restriction: Configure Group Policy to restrict Point and Print to trusted print servers only (
Computer Configuration > Administrative Templates > Printers > Point and Print Restrictions) - Verify the patch is installed: check for KB5004945 (Windows 10 20H1/20H2/21H1) and equivalent KBs for other Windows versions
- Monitor for anomalous DLL loading by spoolsv.exe — EDR solutions should alert on unknown DLLs loaded by the Print Spooler process
- Audit which systems require Print Spooler and disable it on servers that do not need it (file servers, web servers, database servers, domain controllers)
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2021-1675 |
| Vendor / Product | Microsoft — Windows |
| NVD Published | 2021-06-08 |
| NVD Last Modified | 2025-10-30 |
| CVSS 3.1 Score | 7.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Severity | HIGH |
| CISA KEV Added | 2021-11-03 |
| CISA KEV Deadline | 2021-11-17 |
| Known Ransomware Use | ⚠️ Yes |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2021-06-08 | Microsoft patches CVE-2021-1675 in June 2021 Patch Tuesday — initially rated CVSS 6.8 as a local privilege escalation |
| 2021-06-29 | Researchers publish proof-of-concept exploit on GitHub demonstrating that Print Spooler vulnerabilities enable both LPE and remote code execution — nicknamed PrintNightmare |
| 2021-07-01 | Microsoft publishes new CVE-2021-34527 to cover the RCE variant; revises CVE-2021-1675 to CVSS 7.8 and re-classifies it as both LPE and RCE; issues emergency out-of-band patch for the broader PrintNightmare issue |
| 2021-06-08 | CVE published |
| 2021-11-03 | Added to CISA Known Exploited Vulnerabilities catalog — ransomware campaigns confirmed using Print Spooler exploitation |
| 2021-11-17 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| Microsoft Security Advisory — CVE-2021-1675 | Vendor Advisory |
| Microsoft Security Advisory — CVE-2021-34527 (PrintNightmare RCE) | Vendor Advisory |
| NVD — CVE-2021-1675 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |