What is Windows NTFS?
NTFS (New Technology File System) is the primary file system for Windows, handling all file storage, metadata, permissions, and journaling for Windows system and data drives. The Windows kernel includes the NTFS driver (ntfs.sys) — a kernel-mode component running at the highest privilege level that processes file system operations. Integer underflow vulnerabilities in the NTFS kernel driver corrupt kernel memory during file system operations, providing attackers with kernel-level memory corruption primitives that can be exploited to escalate from a low-privileged user process to full SYSTEM privileges.
Overview
CVE-2021-31956 is an integer underflow (integer wraparound) vulnerability (CWE-191) in the Windows NTFS kernel driver that allows a low-privileged user to escalate to SYSTEM privileges. Microsoft patched this in June 2021 Patch Tuesday as a zero-day. Kaspersky Research subsequently identified that CVE-2021-31956 was used as the kernel privilege escalation component in the PuzzleMaker waterhole attack campaign — paired with a Chrome V8 zero-day (CVE-2021-21224) for a full browser-to-kernel exploit chain against targeted organizations. CISA added CVE-2021-31956 to the KEV catalog in November 2021.
Affected Versions
| Product | Vulnerable | Fixed |
|---|---|---|
| Windows 10 (all versions) | Yes | June 2021 Patch Tuesday |
| Windows Server 2016 | Yes | June 2021 Patch Tuesday |
| Windows Server 2019 | Yes | June 2021 Patch Tuesday |
| Windows 7 / Server 2008 R2 | Yes | June 2021 Patch Tuesday |
Technical Details
- Root cause: Integer underflow or wraparound (CWE-191) in the Windows NTFS kernel driver — an arithmetic operation on a size or index value produces a negative result that wraps around to a very large positive value; this incorrect value is used in a subsequent memory operation, causing the NTFS driver to read or write beyond the intended kernel buffer
- Kernel memory corruption: The integer underflow leads to heap buffer over-read or over-write in kernel space, providing the attacker with a memory corruption primitive exploitable to redirect kernel execution and achieve SYSTEM-level code execution
- PuzzleMaker chain: Kaspersky documented a sophisticated attack chain: (1) victim visits a compromised website delivering Chrome exploit CVE-2021-21224 (V8 RCE), achieving renderer code execution; (2) CVE-2021-31956 is used to escape the Chrome sandbox and escalate to SYSTEM on the host OS; (3) a dropper is installed with SYSTEM privileges for persistent access
- Zero-day at patch: Microsoft acknowledged exploitation in the wild at the time of the June 2021 Patch Tuesday — confirming the NTFS zero-day was weaponized before defenders could patch
- Waterhole targeting: PuzzleMaker's waterhole delivery (compromised websites visited by specific target communities) is characteristic of sophisticated threat actor operations targeting specific organizations or industries rather than broad criminal campaigns
Discovery
Identified and reported by Kaspersky Research as part of their analysis of the PuzzleMaker campaign — a waterhole attack operation that used a full exploit chain combining Chrome and Windows kernel zero-days. Kaspersky published the detailed PuzzleMaker analysis on June 11, 2021, three days after Microsoft's June Patch Tuesday fixed the NTFS vulnerability.
Exploitation Context
CVE-2021-31956 represents a kernel privilege escalation zero-day deployed by sophisticated threat actors in a complete drive-by browser exploit chain. The PuzzleMaker campaign's waterhole methodology — compromising websites visited by the target community — is a hallmark of targeted espionage operations seeking to compromise specific organizations without broadly exposing their exploit capabilities. The pairing of a Chrome renderer zero-day with a Windows kernel LPE zero-day demonstrates the operational sophistication: each stage is required to convert initial browser exploit into full OS compromise. The November 2021 CISA KEV addition reflects ongoing exploitation of the NTFS vulnerability against unpatched Windows systems after the June patch.
Remediation
- Apply June 2021 Patch Tuesday updates — this addresses CVE-2021-31956 in the NTFS driver; check the Microsoft Update Catalog for the appropriate KB for your Windows version
- Prioritize patching: internet-facing systems and workstations used by high-value individuals (executives, security personnel, system administrators) are most at risk from waterhole-style campaigns
- Verify patch installation:
systeminfo | findstr KBand confirm the June 2021 KB is listed - Implement browser-side protections alongside OS patching — PuzzleMaker used Chrome as its initial entry point: keep Chrome/Edge fully updated and enable Site Isolation
- Use EDR solutions capable of detecting anomalous kernel driver memory access patterns — NTFS driver exploitation creates characteristic kernel heap allocation and access sequences detectable by modern EDR
- Restrict user web browsing to known-good sites via web proxy and URL filtering to reduce waterhole attack exposure
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2021-31956 |
| Vendor / Product | Microsoft — Windows |
| NVD Published | 2021-06-08 |
| NVD Last Modified | 2026-01-13 |
| 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-191 find similar ↗ |
| CISA KEV Added | 2021-11-03 |
| CISA KEV Deadline | 2021-11-17 |
| Known Ransomware Use | No |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2021-06-08 | Microsoft patches CVE-2021-31956 in June 2021 Patch Tuesday — acknowledged as zero-day (exploited in the wild) |
| 2021-06-11 | Kaspersky publishes PuzzleMaker research — reveals CVE-2021-31956 was used alongside Chrome zero-day CVE-2021-21224 in a waterhole campaign targeting specific organizations |
| 2021-06-08 | CVE published |
| 2021-11-03 | Added to CISA Known Exploited Vulnerabilities catalog |
| 2021-11-17 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| Microsoft Security Advisory — CVE-2021-31956 | Vendor Advisory |
| Kaspersky SecureList — PuzzleMaker: Chrome Zero-Day Exploit Chain | Security Research |
| NVD — CVE-2021-31956 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |