Resumo
O Spectre é uma nova classe de vulnerabilidades de hardware que envolvem canais paralelos de execução especulativa que podem ser usados para divulgar informações sobre o programa que está sendo atacado. Para obter mais informações, consulte este artigo do Blog da Equipe do Visual C++ e o comunicado de segurança 180002.
Se você for um desenvolvedor cujo código opera em dados que cruzam um limite de confiança, considere instalar essas atualizações e recompilar seu código tendo a opção /Qspectre habilitada e, em seguida, vinculando às bibliotecas mitigadas pela Spectre fornecidas. /Qspectre e as bibliotecas fornecem assistência de mitigação para a Spectre Variante 1 - CVE-2017-5753.
Como obter esta atualização
Atualização do conjunto de ferramentas
| Para todas as arquiteturas | VC14-KB4338871.exe |
|---|
Bibliotecas VC++ mitigadas pelo Spectre
| Para todos os sistemas com base em x86 compatíveis | VS2015U3_vcpp_spectre_libs_x86.exe |
|---|---|
| Para todos os sistemas com base em x64 compatíveis | VS2015U3_vcpp_spectre_libs_x64.exe |
| Para todos os sistemas baseados em ARM com suporte | VS2015U3_vcpp_spectre_libs_arm.exe |
Pré-requisitos
Para aplicar essa atualização, você deve ter a Atualização 3 para Visual Studio 2015 instalada.
Informações sobre reinicialização
Talvez seja necessário reiniciar o computador após aplicar essa atualização.
Informações de substituição
Esta atualização não substitui nenhuma outra lançada anteriormente.
Mais informações sobre a atualização
Ao instalar a atualização do conjunto de ferramentas, você pode habilitar /Qspectre manualmente nas opções de linha de comando do C/C++.
Você também deve instalar as bibliotecas VC++ mitigadas pelo Spectre (uma atualização por arquitetura) e, em seguida, vinculá-las manualmente.
Os caminhos são os seguintes:
x86: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre
x64: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre\amd64
BRAÇO: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre\arm
Estamos fornecendo suporte a vinculação estática e implantação local do aplicativo apenas. O conteúdo das Bibliotecas Redistribuíveis do Visual C++ 2015 Runtime não foi modificado. Implantação local do aplicativo significa que você vincula às novas bibliotecas do Spectre usando a opção DLL multithread (/MD ou /MDd) e, em seguida, ao implantar seu novo programa, inclui os tempos de execução atenuados no mesmo diretório que o arquivo .exe que os carrega. A versão implantada centralmente do runtime (aquela em C:\Windows\System32 ou C:\Windows\SysWOW64) é a versão não mitgada. Se o arquivo executável não estiver no mesmo diretório, ele selecionará a versão implantada centralmente do tempo de execução.
Para facilitar o uso, também estamos fornecendo cópias da maioria das bibliotecas nos diretórios da biblioteca Spectre. No entanto, nem todos eles são mitigados pela Spectre. A tabela a seguir especifica quais bibliotecas são mitigadas. Observe também que os arquivos que têm mitigações do Spectre devem ser consistentes em todas as arquiteturas, se a tecnologia for compatível com essa arquitetura.
Bibliotecas de execução estática e de importação do Visual C++
- binmode.obj
- chkstk.obj
- commode.obj
- comsupp.lib
- comsuppw.lib
- concrt.lib
- delayimp.lib
- invalidcontinue.obj
- iso_stdio_wide_specifiers.lib
- legacy_stdio_definitions.lib
- legacy_stdio_wide_specifiers.lib
- libcmt.lib
- libconcrt.lib
- libconcrt1.lib
- libcpmt.lib
- libcpmt1.lib
- libvcruntime.lib
- loosefpmath.obj
- msvcmrt.lib
- msvcprt.lib
- msvcrt.lib
- newmode.obj
- noarg.obj
- noenv.obj
- notelemetry.obj
- nothrownew.obj
- oldnames.lib
- ptrustm.lib
- setargv.obj
- threadlocale.obj
- vcamp.lib
- vccorlib.lib
- vcomp.lib
- vcruntime.lib
- wsetargv.obj
- onecore\iso_stdio_wide_specifiers.lib
- onecore\legacy_stdio_definitions.lib
- onecore\legacy_stdio_wide_specifiers.lib
- onecore\libcmt.lib
- onecore\libcpmt.lib
- onecore\libcpmt1.lib
- onecore\libvcruntime.lib
- onecore\msvcprt.lib
- onecore\msvcrt.lib
- onecore\oldnames.lib
- onecore\vccorlib.lib
- onecore\vcomp.lib
- onecore\vcruntime.lib
DLLs de tempo de execução do Visual C++
- concrt140.dll
- mfc140chs.dll
- mfc140cht.dll
- mfc140deu.dll
- mfc140enu.dll
- mfc140esn.dll
- mfc140fra.dll
- mfc140ita.dll
- mfc140jpn.dll
- mfc140kor.dll
- mfc140rus.dll
- mfc140u.dll
- mfcm140u.dll
- Microsoft.VisualC.STLCLR.dll
- msvcp140.dll
- vcamp140.dll
- vccorlib140.dll
- vcruntime140.dll
- onecore\concrt140.dll
- onecore\msvcp140.dll
- onecore\vccorlib140.dll
- onecore\vcruntime140.dll