Vulnerabilities > CVE-2017-0167 - Information Exposure vulnerability in Microsoft products

047910
CVSS 2.1 - LOW
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
NONE
Availability impact
NONE
local
low complexity
microsoft
CWE-200
nessus
exploit available

Summary

An information disclosure vulnerability exists in Windows 8.1, Windows RT 8.1, Windows Server 2012 R2, Windows 10, and Windows Server 2016 when the Windows kernel improperly handles objects in memory. An attacker who successfully exploited this vulnerability could obtain information to further compromise the user's system, a.k.a. "Windows Kernel Information Disclosure Vulnerability."

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Subverting Environment Variable Values
    The attacker directly or indirectly modifies environment variables used by or controlling the target software. The attacker's goal is to cause the target software to deviate from its expected operation in a manner that benefits the attacker.
  • Footprinting
    An attacker engages in probing and exploration activity to identify constituents and properties of the target. Footprinting is a general term to describe a variety of information gathering techniques, often used by attackers in preparation for some attack. It consists of using tools to learn as much as possible about the composition, configuration, and security mechanisms of the targeted application, system or network. Information that might be collected during a footprinting effort could include open ports, applications and their versions, network topology, and similar information. While footprinting is not intended to be damaging (although certain activities, such as network scans, can sometimes cause disruptions to vulnerable applications inadvertently) it may often pave the way for more damaging attacks.
  • Exploiting Trust in Client (aka Make the Client Invisible)
    An attack of this type exploits a programs' vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by placing themselves in the communication channel between client and server such that communication directly to the server is possible where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.
  • Browser Fingerprinting
    An attacker carefully crafts small snippets of Java Script to efficiently detect the type of browser the potential victim is using. Many web-based attacks need prior knowledge of the web browser including the version of browser to ensure successful exploitation of a vulnerability. Having this knowledge allows an attacker to target the victim with attacks that specifically exploit known or zero day weaknesses in the type and version of the browser used by the victim. Automating this process via Java Script as a part of the same delivery system used to exploit the browser is considered more efficient as the attacker can supply a browser fingerprinting method and integrate it with exploit code, all contained in Java Script and in response to the same web page request by the browser.
  • Session Credential Falsification through Prediction
    This attack targets predictable session ID in order to gain privileges. The attacker can predict the session ID used during a transaction to perform spoofing and session hijacking.

Exploit-Db

descriptionMicrosoft Windows Kernel - 'win32kfull!SfnINLPUAHDRAWMENUITEM' Stack Memory Disclosure. CVE-2017-0167. Dos exploit for Windows platform
fileexploits/windows/dos/41880.cpp
idEDB-ID:41880
last seen2017-04-13
modified2017-04-13
platformwindows
port
published2017-04-13
reporterExploit-DB
sourcehttps://www.exploit-db.com/download/41880/
titleMicrosoft Windows Kernel - 'win32kfull!SfnINLPUAHDRAWMENUITEM' Stack Memory Disclosure
typedos

Nessus

  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_APR_4015221.NASL
    descriptionThe remote Windows 10 Version 1507 host is missing security update KB4015221. It is, therefore, affected by multiple vulnerabilities : - An information disclosure vulnerability exists in the open-source libjpeg image processing library due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this to disclose sensitive information that can be utilized to bypass ASLR security protections. (CVE-2013-6629) - An information disclosure vulnerability exists in the win32k component due to improper handling of kernel information. A local attacker can exploit these vulnerabilities, via a specially crafted application, to disclose sensitive information. (CVE-2017-0058) - A privilege escalation vulnerability exists in the Microsoft Graphics Component due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code with elevated privileges. (CVE-2017-0156) - A flaw exists in the VBScript engine due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a malicious website or open a specially crafted document file, to execute arbitrary code. (CVE-2017-0158) - A privilege escalation vulnerability exists in the Microsoft .NET framework due to improper validation of input when loading libraries. A local attacker can exploit this to gain elevated privileges. (CVE-2017-0160) - Multiple flaws exist in Windows Hyper-V Network Switch due to improper validation of input from the guest operating system. A local attacker can exploit these, via a specially crafted application on the guest, to execute arbitrary code on the host system. (CVE-2017-0162, CVE-2017-0163) - A privilege escalation vulnerability exists due to improper sanitization of handles stored in memory. A local attacker can exploit this to gain elevated privileges. (CVE-2017-0165) - A flaw exists in LDAP due to buffer request lengths not being properly calculated. An unauthenticated, remote attacker can exploit this, via specially crafted traffic sent to a Domain Controller, to run processes with elevated privileges. (CVE-2017-0166) - A flaw exists in the Windows kernel due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to disclose sensitive information. (CVE-2017-0167)
    last seen2020-06-01
    modified2020-06-02
    plugin id99287
    published2017-04-11
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/99287
    titleKB4015221: Windows 10 Version 1507 April 2017 Cumulative Update
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_APR_4015583.NASL
    descriptionThe remote Windows 10 version 1703 host is missing security update KB4015583. It is, therefore, affected by multiple vulnerabilities : - An information disclosure vulnerability exists in the open-source libjpeg image processing library due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this to disclose sensitive information that can be utilized to bypass ASLR security protections. (CVE-2013-6629) - Multiple information disclosure vulnerabilities exist in the win32k component due to improper handling of kernel information. A local attacker can exploit these vulnerabilities, via a specially crafted application, to disclose sensitive information. (CVE-2017-0058, CVE-2017-0188) - A remote code execution vulnerability exists in Microsoft Edge due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a malicious website, to execute arbitrary code. (CVE-2017-0093) - A privilege escalation vulnerability exists in the Microsoft Graphics Component due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code with elevated privileges. (CVE-2017-0156) - A flaw exists in the VBScript engine due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a malicious website or open a specially crafted document file, to execute arbitrary code. (CVE-2017-0158) - A security feature bypass vulnerability exists in ADFS due to incorrectly treating requests from Extranet clients as Intranet requests. An unauthenticated, remote attacker can exploit this to bypass account lockout protection mechanisms and more easily gain access to a user
    last seen2020-06-01
    modified2020-06-02
    plugin id99288
    published2017-04-11
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/99288
    titleKB4015583: Windows 10 Version 1703 April 2017 Cumulative Update
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_JUN_WIN2008.NASL
    descriptionThe remote Windows host is missing multiple security updates. It is, therefore, affected by multiple vulnerabilities : - An information disclosure vulnerability exists when affected Microsoft browsers improperly handle objects in memory. An attacker who successfully exploited the vulnerability could obtain information to further compromise the user
    last seen2020-06-01
    modified2020-06-02
    plugin id100786
    published2017-06-14
    reporterThis script is Copyright (C) 2017-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/100786
    titleWindows 2008 June 2017 Multiple Security Updates
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_APR_4015217.NASL
    descriptionThe remote Windows 10 host is missing security update KB4015217. It is, therefore, affected by multiple vulnerabilities : - An information disclosure vulnerability exists in the open-source libjpeg image processing library due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this to disclose sensitive information that can be utilized to bypass ASLR security protections. (CVE-2013-6629) - Multiple information disclosure vulnerabilities exist in the win32k component due to improper handling of kernel information. A local attacker can exploit these, via a specially crafted application, to disclose sensitive information. (CVE-2017-0058, CVE-2017-0188) - A privilege escalation vulnerability exists in the Microsoft Graphics Component due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code with elevated privileges. (CVE-2017-0156) - A flaw exists in the VBScript engine due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a malicious website or open a specially crafted document file, to execute arbitrary code. (CVE-2017-0158) - A security feature bypass vulnerability exists in ADFS due to incorrectly treating requests from Extranet clients as Intranet requests. An unauthenticated, remote attacker can exploit this to bypass account lockout protection mechanisms and more easily gain access to a user
    last seen2020-06-01
    modified2020-06-02
    plugin id99286
    published2017-04-11
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/99286
    titleKB4015217: Windows 10 1607 April 2017 Cumulative Update
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_APR_4015550.NASL
    descriptionThe remote Windows host is missing security update 4015547 or cumulative update 4015550. It is, therefore, affected by multiple vulnerabilities : - An information disclosure vulnerability exists in the open-source libjpeg image processing library due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this to disclose sensitive information that can be utilized to bypass ASLR security protections. (CVE-2013-6629) - Multiple information disclosure vulnerabilities exist in the win32k component due to improper handling of kernel information. A local attacker can exploit these vulnerabilities, via a specially crafted application, to disclose sensitive information. (CVE-2017-0058, CVE-2017-0188) - A privilege escalation vulnerability exists in the Microsoft Graphics Component due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code with elevated privileges. (CVE-2017-0156) - A flaw exists in the VBScript engine due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a malicious website or open a specially crafted document file, to execute arbitrary code. (CVE-2017-0158) - A security feature bypass vulnerability exists in ADFS due to incorrectly treating requests from Extranet clients as Intranet requests. An unauthenticated, remote attacker can exploit this to bypass account lockout protection mechanisms and more easily gain access to a user
    last seen2020-06-01
    modified2020-06-02
    plugin id99312
    published2017-04-12
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/99312
    titleWindows 8.1 and Windows Server 2012 R2 April 2017 Security Updates
  • NASL familyWindows : Microsoft Bulletins
    NASL idSMB_NT_MS17_APR_4015219.NASL
    descriptionThe remote Windows 10 version 1511 host is missing security update KB4015219. It is, therefore, affected by multiple vulnerabilities : - An information disclosure vulnerability exists in the open-source libjpeg image processing library due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this to disclose sensitive information that can be utilized to bypass ASLR security protections. (CVE-2013-6629) - Multiple information disclosure vulnerabilities exist in the win32k component due to improper handling of kernel information. A local attacker can exploit these vulnerabilities, via a specially crafted application, to disclose sensitive information. (CVE-2017-0058, CVE-2017-0188) - A remote code execution vulnerability exists in Microsoft Edge due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a malicious website, to execute arbitrary code. (CVE-2017-0093) - A privilege escalation vulnerability exists in the Microsoft Graphics Component due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code with elevated privileges. (CVE-2017-0156) - A flaw exists in the VBScript engine due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a malicious website or open a specially crafted document file, to execute arbitrary code. (CVE-2017-0158) - A privilege escalation vulnerability exists in the Microsoft .NET framework due to improper validation of input when loading libraries. A local attacker can exploit this to gain elevated privileges. (CVE-2017-0160) - Multiple flaws exist in Windows Hyper-V Network Switch due to improper validation of input from the guest operating system. A local attacker can exploit these, via a specially crafted application on the guest, to execute arbitrary code on the host system. (CVE-2017-0162, CVE-2017-0163, CVE-2017-0180, CVE-2017-0181) - A privilege escalation vulnerability exists due to improper sanitization of handles stored in memory. A local attacker can exploit this to gain elevated privileges. (CVE-2017-0165) - A flaw exists in LDAP due to buffer request lengths not being properly calculated. An unauthenticated, remote attacker can exploit this, via specially crafted traffic sent to a Domain Controller, to run processes with elevated privileges. (CVE-2017-0166) - A flaw exists in the Windows kernel due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to disclose sensitive information. (CVE-2017-0167) - Multiple denial of service vulnerabilities exist in Hyper-V due to improper validation of input from a privileged user on a guest operating system. A local attacker on the guest can exploit these, via a specially crafted application, to cause the host system to crash. (CVE-2017-0178, CVE-2017-0179, CVE-2017-0184) - Multiple denial of service vulnerabilities exist in Windows Hyper-V Network Switch due to improper validation of input from the guest operating system. A local attacker on the guest can exploit these vulnerabilities, via a specially crafted application, to crash the host system. (CVE-2017-0182, CVE-2017-0183, CVE-2017-0185, CVE-2017-0186) - A privilege escalation vulnerability exists in the Windows kernel-mode driver due to improper handling of objects in memory. A local attacker can exploit this, via a specially crafted application, to execute arbitrary code in kernel mode. (CVE-2017-0189) - A flaw exists in Windows due to improper handling of objects in memory that allows an attacker to cause a denial of service condition. (CVE-2017-0191) - An information disclosure vulnerability exists in the Adobe Type Manager Font Driver (ATMFD.dll) due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this, by convincing a user to open a specially crafted document or visit a malicious web page, to disclose sensitive information. (CVE-2017-0192) - A memory corruption issue exists in Internet Explorer due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a malicious website, to execute arbitrary code. (CVE-2017-0202) - A security feature bypass vulnerability exists in Microsoft Edge due to improper handling of CSP documents. An unauthenticated, remote attacker can exploit this, via a specially crafted CSP document, to bypass security features. (CVE-2017-0203) - A memory corruption issue exists in Microsoft Edge due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this, by convincing a user to visit a malicious website, to execute arbitrary code. (CVE-2017-0205) - An information disclosure vulnerability exists in Microsoft Edge in the Chakra scripting engine due to improper handling of objects in memory. An unauthenticated, remote attacker can exploit this to disclose sensitive information. (CVE-2017-0208) - A privilege escalation vulnerability exists in Internet Explorer due to a failure to properly enforce cross-domain policies. An unauthenticated, remote attacker can exploit this to inject arbitrary content and gain elevated privileges. (CVE-2017-0210) - A privilege escalation vulnerability exists in Microsoft Windows OLE due to an unspecified failure in integrity-level checks. An authenticated, remote attacker can exploit this to run an application with limited privileges at a medium integrity level. Note that this vulnerability by itself does not allow arbitrary code execution but can be used in conjunction other vulnerabilities. (CVE-2017-0211)
    last seen2020-06-01
    modified2020-06-02
    plugin id99282
    published2017-04-11
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/99282
    titleKB4015219: Windows 10 Version 1511 April 2017 Cumulative Update

Seebug

bulletinFamilyexploit
descriptionWe have discovered that it is possible to disclose portions of uninitialized kernel stack memory to user-mode applications in Windows 10 indirectly through the win32k! NtUserPaintMenuBar system call, or more specifically, through the user32! fnINLPUAHDRAWMENUITEM user-mode callback (#107 on Windows 10 1607 32-bit). In our tests, the callback is invoked under the following stack trace: `--- cut --- a75e6a8c 81b63813 nt! memcpy a75e6aec 9b1bb7bc nt! KeUserModeCallback+0x163 a75e6c10 9b14ff79 win32kfull! SfnINLPUAHDRAWMENUITEM+0x178 a75e6c68 9b1501a3 win32kfull! xxxSendMessageToClient+0xa9 a75e6d20 9b15361c win32kfull! xxxSendTransformableMessageTimeout+0x133 a75e6d44 9b114420 win32kfull! xxxSendMessage+0x20 a75e6dec 9b113adc win32kfull! xxxSendMenuDrawItemMessage+0x102 a75e6e48 9b1138f4 win32kfull! xxxDrawMenuItem+0xee a75e6ecc 9b110955 win32kfull! xxxMenuDraw+0x184 a75e6f08 9b11084e win32kfull! xxxPaintMenuBar+0xe1 a75e6f34 819a8987 win32kfull! NtUserPaintMenuBar+0x7e a75e6f34 77d74d50 nt! KiSystemServicePostCall 00f3f08c 7489666a ntdll! KiFastSystemCallRet 00f3f090 733ea6a8 win32u! NtUserPaintMenuBar+0xa 00f3f194 733e7cef uxtheme! CThemeWnd::NcPaint+0x1fc 00f3f1b8 733ef3c0 uxtheme! OnDwpNcActivate+0x3f 00f3f22c 733ede88 uxtheme! _ThemeDefWindowProc+0x800 00f3f240 75d8c2aa uxtheme! ThemeDefWindowProcW+0x18 00f3f298 75d8be4a USER32! DefWindowProcW+0x14a 00f3f2b4 75db53cf USER32! DefWindowProcWorker+0x2a 00f3f2d8 75db8233 USER32! ButtonWndProcW+0x2f 00f3f304 75d8e638 USER32! _InternalCallWinProc+0x2b 00f3f3dc 75d8e3a5 USER32! UserCallWinProcCheckWow+0x218 00f3f438 75da5d6f USER32! DispatchClientMessage+0xb5 00f3f468 77d74c86 USER32!__ fnDWORD+0x3f 00f3f498 74894c3a ntdll! KiUserCallbackDispatcher+0x36 00f3f49c 75d9c1a7 win32u! NtUserCreateWindowEx+0xa 00f3f774 75d9ba68 USER32! VerNtUserCreateWindowEx+0x231 00f3f84c 75d9b908 USER32! CreateWindowInternal+0x157 00f3f88c 000d15b7 USER32! CreateWindowExW+0x38 --- cut ---` The layout of the i/o structure passed down to the user-mode callback that we're seeing is as follows: `--- cut --- 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ................ 00000070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ 00000080: 00 00 00 00 00 00 00 00 ?? ?? ?? ?? ?? ?? ?? ?? ................ --- cut ---` Where 00 denote bytes which are properly initialized, while the ff indicate uninitialized values copied back to user-mode. As shown above, there are 20 bytes leaked at offsets 0x6c-0x7f. We have determined that these bytes originally come from a smaller structure of size 0x74, allocated in the stack frame of the win32kfull! xxxSendMenuDrawItemMessage function. We can easily demonstrate the vulnerability with a kernel debugger (WinDbg), by setting a breakpoint at win32kfull! xxxSendMenuDrawItemMessage, filling the local structure with a marker 0x41 ('A') byte after stepping through the function prologue, and then observing that these bytes indeed survived any kind of initialization and are printed out by the attached proof-of-concept program: `--- cut --- 3: kd> ba e 1 win32kfull! xxxSendMenuDrawItemMessage 3: kd> g Breakpoint 0 hit win32kfull! xxxSendMenuDrawItemMessage: 9b11431e 8bff mov edi,edi 1: kd> p win32kfull! xxxSendMenuDrawItemMessage+0x2: 9b114320 55 push ebp 1: kd> p win32kfull! xxxSendMenuDrawItemMessage+0x3: 9b114321 8bec mov ebp,esp 1: kd> p win32kfull! xxxSendMenuDrawItemMessage+0x5: 9b114323 81ec8c000000 sub esp,8Ch 1: kd> p win32kfull! xxxSendMenuDrawItemMessage+0xb: 9b114329 a1e0dd389b mov eax,dword ptr [win32kfull!__ security_cookie (9b38dde0)] 1: kd> p win32kfull! xxxSendMenuDrawItemMessage+0x10: 9b11432e 33c5 xor eax,ebp 1: kd> p win32kfull! xxxSendMenuDrawItemMessage+0x12: 9b114330 8945fc mov dword ptr [ebp-4],eax 1: kd> p win32kfull! xxxSendMenuDrawItemMessage+0x15: 9b114333 833d0ca6389b00 cmp dword ptr [win32kfull! gihmodUserApiHook (9b38a60c)],0 1: kd> f ebp-78 ebp-78+74-1 41 Filled 0x74 bytes 1: kd> g --- cut ---` Then, the relevant part of the PoC output should be similar to the following: `--- cut --- 00000000: 88 b2 12 01 92 00 00 00 00 00 00 00 01 00 00 00 ................ 00000010: 00 00 00 00 39 05 00 00 01 00 00 00 00 01 00 00 .... 9........... 00000020: 61 02 0a 00 1a 08 01 01 08 00 00 00 1f 00 00 00 a............... 00000030: 50 00 00 00 32 00 00 00 00 00 00 00 61 02 0a 00 P...2....... a... 00000040: 1a 08 01 01 00 0a 00 00 00 00 00 00 00 00 00 00 ................ 00000050: 00 00 00 00 3a 00 00 00 0f 00 00 00 00 00 00 00 ....:........... 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 41 41 41 41 ............ AAAA 00000070: 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA 00000080: a0 64 d8 77 60 66 d8 77 ?? ?? ?? ?? ?? ?? ?? ?? . d. w`f. w........ --- cut ---` The 20 aforementioned bytes are clearly leaked to ring-3 in an unmodified, uninitialized form. If we don't manually insert markers into the kernel stack, an example output of the PoC can be as follows: `--- cut --- 00000000: 88 b2 ab 01 92 00 00 00 00 00 00 00 01 00 00 00 ................ 00000010: 00 00 00 00 39 05 00 00 01 00 00 00 00 01 00 00 .... 9........... 00000020: db 01 1d 00 47 08 01 17 08 00 00 00 1f 00 00 00.... G........... 00000030: 50 00 00 00 32 00 00 00 00 00 00 00 db 01 1d 00 P...2........... 00000040: 47 08 01 17 00 0a 00 00 00 00 00 00 00 00 00 00 G............... 00000050: 00 00 00 00 3a 00 00 00 0f 00 00 00 00 00 00 00 ....:........... 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 28 d3 ab 81 ............ (... 00000070: 80 aa 20 9b 33 26 fb af fe ff ff ff 00 5e 18 94 .. .3&.......^.. 00000080: a0 64 d8 77 60 66 d8 77 ?? ?? ?? ?? ?? ?? ?? ?? . d. w`f. w........ --- cut ---` Starting at offset 0x6C, we can observe leaked contents of a kernel _EH3_EXCEPTION_REGISTRATION structure: `. Next = 0x81abd328 . ExceptionHandler = 0x9b20aa80 . ScopeTable = 0xaffb2633 . TryLevel = 0xfffffffe` This immediately discloses the address of the kernel-mode stack and the win32k image in memory -- information that is largely useful for local attackers seeking to defeat the kASLR exploit mitigation, or disclose other sensitive data stored in the kernel address space. Attachment: [xxxSendMenuDrawItemMessage.cpp](<https://bugs.chromium.org/p/project-zero/issues/attachment?aid=275634>)
idSSV:92948
last seen2017-11-19
modified2017-04-14
published2017-04-14
reporterRoot
titleWindows Kernel stack memory disclosure in win32kfull!SfnINLPUAHDRAWMENUITEM (CVE-2017-0167)