ionescu007 / SpecuCheck

SpecuCheck is a Windows utility for checking the state of the software mitigations and hardware against CVE-2017-5754 (Meltdown), CVE-2017-5715 (Spectre v2), CVE-2018-3260 (Foreshadow), and CVE-2018-3639 (Spectre v4)
568 stars 82 forks source link

32-bit version does not work on 64-bit Win10 1703 #13

Closed sigprof closed 6 years ago

sigprof commented 6 years ago

I tried to use SpecuCheck on 64-bit Windows 10 Pro 1703 (build 15063.850) with KB4056891 installed. The latest SpecuCheck v1.0.4 (which is released only as a 32-bit binary) fails to show any information about the Spectre vulnerability:

SpecuCheck v1.0.4   --   Copyright(c) 2018 Alex Ionescu
https://ionescu007.github.io/SpecuCheck/  --  @aionescu
-------------------------------------------------------

Mitigations for CVE-2017-5754 [rogue data cache load]
-------------------------------------------------------
[-] Kernel VA Shadowing Enabled:                    yes
 ├───> with User Pages Marked Global:               yes
 └───> with PCID Flushing Optimization (INVPCID):    no

Your system either does not have the appropriate patch, or it may not support the information class required.

Version 1.0.3 and the 32-bit version 1.0.2 also show the same error. However, the 64-bit SpecuCheck v1.0.2 works properly on this system:

SpecuCheck v1.0.2 -- Copyright (c) 2018 Alex Ionescu
http://www.alex-ionescu.com - @aionescu
----------------------------------------------------

Mitigations for CVE-2017-5754 [rogue data cache load]
-----------------------------------------------------
Kernel VA Shadowing Enabled: yes
Kernel VA Shadowing with User Pages Marked Global: yes
Kernel VA Shadowing with PCID Support: no
Kernel VA Shadowing with INVPCID Support: no

Mitigations for CVE-2017-5715 [branch target injection]
-------------------------------------------------------
Branch Prediction Mitigations Enabled: no
Branch Prediction Mitigations Disabled due to System Policy: no
Branch Prediction Mitigations Disabled due to No Hardware Support: yes
CPU Supports Speculation Controls: no
CPU Supports Speculation Commands: no
IBRS Speculation Control Present: no
STIBP Speculation Command Present: no
Supervisor Mode Execution Prevention Present: no

(The CPU is i5-2300, which supports PCID without INVPCID, and does not have the required microcode update,)

The release notes for 1.0.3 say "the WoW64 subsystem supports this system call"; apparently this is not the case at least for Windows 10 version 1703.

ionescu007 commented 6 years ago

Hey Sergey,

Yep someone else on Twitter just validated this as well. Looks like WOW64 on 1703 and perhaps other systems doesn’t have the info class. 1.0.5 will go back to separate binaries.

On Tue, Jan 9, 2018 at 8:26 AM Sergey Vlasov notifications@github.com wrote:

I tried to use SpecuCheck on 64-bit Windows 10 Pro 1703 (build 15063.850) with KB4056891 installed. The latest SpecuCheck v1.0.4 (which is released only as a 32-bit binary) fails to show any information about the Spectre vulnerability:

SpecuCheck v1.0.4 -- Copyright(c) 2018 Alex Ionescuhttps://ionescu007.github.io/SpecuCheck/ -- @aionescu

Mitigations for CVE-2017-5754 [rogue data cache load]

[-] Kernel VA Shadowing Enabled: yes ├───> with User Pages Marked Global: yes └───> with PCID Flushing Optimization (INVPCID): no

Your system either does not have the appropriate patch, or it may not support the information class required.

Version 1.0.3 and the 32-bit version 1.0.2 also show the same error. However, the 64-bit SpecuCheck v1.0.2 works properly on this system:

SpecuCheck v1.0.2 -- Copyright (c) 2018 Alex Ionescuhttp://www.alex-ionescu.com - @aionescu

Mitigations for CVE-2017-5754 [rogue data cache load]

Kernel VA Shadowing Enabled: yes Kernel VA Shadowing with User Pages Marked Global: yes Kernel VA Shadowing with PCID Support: no Kernel VA Shadowing with INVPCID Support: no

Mitigations for CVE-2017-5715 [branch target injection]

Branch Prediction Mitigations Enabled: no Branch Prediction Mitigations Disabled due to System Policy: no Branch Prediction Mitigations Disabled due to No Hardware Support: yes CPU Supports Speculation Controls: no CPU Supports Speculation Commands: no IBRS Speculation Control Present: no STIBP Speculation Command Present: no Supervisor Mode Execution Prevention Present: no

(The CPU is i5-2300, which supports PCID without INVPCID, and does not have the required microcode update,)

The release notes for 1.0.3 say "the WoW64 subsystem supports this system call"; apparently this is not the case at least for Windows 10 version 1703.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ionescu007/SpecuCheck/issues/13, or mute the thread https://github.com/notifications/unsubscribe-auth/AFxIeF9Aoc1_YYiDOYBdpy3gphoxT-80ks5tI5NQgaJpZM4RYFs9 .

-- Best regards, Alex Ionescu

ionescu007 commented 6 years ago

v.1.0.5 now has a x64-native build again.