header-logo
Suggest Exploit
vendor:
NtQueryVirtualMemory System Call
by:
Project Zero
7,8
CVSS
HIGH
Double Write
787
CWE
Product Name: NtQueryVirtualMemory System Call
Affected Version From: Windows 7
Affected Version To: Windows 10
Patch Exists: YES
Related CWE: N/A
CPE: N/A
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: Windows 7, Windows 8, Windows 10
2017

NtQueryVirtualMemory System Call Vulnerability

We have discovered that it is possible to disclose addresses of kernel-mode Paged Pool allocations via a race-condition in the implementation of the NtQueryVirtualMemory system call (information class 2, MemoryMappedFilenameInformation). The vulnerability affects Windows 7 to 10, 32-bit and 64-bit. An example of an output region is shown below, where we can observe a kernel-mode address (fffff8a0`01a78020) of the textual string that follows the UNICODE_STRING, at offset 0x8. This means that the entire original kernel-mode structure is copied to ring-3, and then later the client's UNICODE_STRING.Buffer pointer is fixed up to point into the userland string. This condition could be referred to as a "double write" (as opposed to double fetch), where the kernel first copies some sensitive/confidential data into user-mode, and then later overwrites it with a pointer to the same data.

Mitigation:

Apply the latest security patches from Microsoft to mitigate this vulnerability.
Source

Exploit-DB raw data: