← back
CVE-2017-0146highunder attackransomware

CVE-2017-0146

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 8.8epss 90%
from disclosure to weapon31 days
Published on NVDMar 17
1st PoC+31d
metasploitMar 14
CISA KEV+1834d
exploitation probability
90%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
9 public exploit(s)
Action required by CISAfederal deadline: 2022-04-15

Apply updates per vendor instructions.

Summary

Falha de execução remota de código no servidor SMBv1 do Windows, corrigida pelo boletim MS17-010 em março de 2017. É uma das seis CVEs do mesmo pacote de correção (0143, 0144, 0145, 0146, 0147, 0148) explorado pelo EternalBlue, ferramenta atribuída ao Equation Group e vazada pelo grupo Shadow Brokers, que serviu de vetor de propagação para o WannaCry e o NotPetya em 2017. Importa porque não exige interação do usuário nem credenciais válidas na configuração padrão — só exige que o serviço SMBv1 esteja exposto na rede.

Technical detail

A CVE-2017-0146 está classificada como CWE-20 (validação de entrada inadequada) no driver srv.sys, componente kernel que implementa o servidor SMBv1 no Windows. O boletim MS17-010 agrupa múltiplos bugs de processamento de pacotes SMB_COM_TRANSACTION e estruturas relacionadas (FEA, transações secundárias, respostas multiplexadas) onde o kernel confia em campos de tamanho ou offset controlados pelo cliente sem validá-los contra os limites reais do buffer alocado, permitindo leitura ou escrita fora dos limites em memória de kernel.

A Microsoft optou por não publicar detalhamento técnico próprio distinguindo o mecanismo exato de cada CVE do grupo além de afirmar que são vulnerabilidades distintas entre si — a atribuição pública de qual função específica do driver corresponde a qual CVE veio majoritariamente de pesquisadores (RiskSense, Sean Dillon/zerosum0x0, entre outros) que fizeram engenharia reversa dos patches e do exploit EternalBlue após o vazamento do Shadow Brokers. Não há, nas fontes disponíveis, uma descrição técnica isolada e verificada especificamente para CVE-2017-0146 separada das demais; ela é tratada operacionalmente como parte do mesmo conjunto de falhas de corrupção de memória em kernel no path SMBv1.

O atacante controla o conteúdo e os campos de tamanho/offset de pacotes SMB enviados ao servidor, o que no conjunto de bugs do MS17-010 permite sobrescrever memória de kernel e, em última instância, executar código com privilégios de SYSTEM.

How it’s exploited

O vetor é rede: TCP/445 (e, em cenários legados, NetBIOS sobre TCP/139) com o serviço de servidor SMBv1 habilitado e acessível ao atacante. Em muitas variantes de exploração associadas ao grupo MS17-010, incluindo o EternalBlue, não é necessária autenticação prévia — o exploit abre uma sessão SMB nula ou anônima, negocia SMBv1 e envia pacotes de transação malformados para corromper a memória do kernel antes de qualquer verificação de credenciais completa.

Há exploração ativa confirmada e generalizada: o CVE está no catálogo KEV da CISA, tem módulo de exploração e de detecção no Metasploit (o scanner auxiliar smb_ms_17_010 identifica hosts vulneráveis via erro STATUS_INSUFF_SERVER_RESOURCES em uma transação sobre IPC$) e existe PoC pública no Exploit-DB. O uso mais notório foi como payload de propagação do worm WannaCry (maio de 2017) e do NotPetya (junho de 2017), ambos usando o exploit EternalBlue para comprometer hosts sem qualquer ação do usuário, e frequentemente encadeado com o implante DoublePulsar para persistência.

A exploração completa (execução de código, não só negação de serviço) tem complexidade não trivial de engenharia — exige alinhamento de memória de kernel específico por versão/arquitetura de Windows — mas essa complexidade já foi resolvida e automatizada em ferramentas públicas amplamente distribuídas, o que elimina a barreira prática para quem só precisa executar, não desenvolver, o exploit.

Versions

Affected
Windows Vista SP2; Windows Server 2008 SP2 e R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold e R2; Windows RT 8.1; Windows 10 Gold, 1511 e 1607; Windows Server 2016 — conforme descrição oficial da Microsoft.
Fixed in
Corrigido pelo boletim de segurança MS17-010, publicado pela Microsoft em 14 de março de 2017, com atualizações específicas por versão/edição listada. As fontes disponíveis não trazem os números de KB individuais por versão; consultar o portal MSRC/Microsoft Update Catalog para o KB correspondente à build exata em uso.

How to protect

A correção oficial é o boletim MS17-010, lançado pela Microsoft em 14 de março de 2017, cobrindo as versões listadas (Windows Vista SP2, Windows Server 2008 SP2/R2 SP1, Windows 7 SP1, Windows 8.1, Windows Server 2012 Gold/R2, Windows RT 8.1, Windows 10 Gold/1511/1607 e Windows Server 2016). Aplicar as atualizações de segurança correspondentes à versão e branch de cada sistema é a mitigação definitiva; a CISA, no catálogo KEV, também recomenda apenas 'aplicar atualizações conforme instruções do fornecedor'.

Se a atualização não puder ser aplicada imediatamente, o paliativo real é desabilitar o protocolo SMBv1 por completo (via recurso opcional do Windows ou GPO) — SMBv1 é obsoleto e substituível por SMBv2/v3 na quase totalidade dos ambientes modernos; o custo é quebrar compatibilidade com dispositivos ou softwares legados que ainda dependam exclusivamente de SMBv1. Como controle compensatório de rede, bloquear ou restringir as portas 445/139 na borda e entre segmentos internos reduz a superfície de ataque, mas não neutraliza o risco em movimento lateral dentro da mesma rede.

Não funciona como mitigação: apenas manter antivírus atualizado ou confiar em firewall pessoal do host sem desabilitar SMBv1 ou aplicar o patch — o WannaCry demonstrou que hosts internos sem exposição direta à internet, mas com SMBv1 ativo e acessível lateralmente, foram comprometidos em massa mesmo com essas defesas de perímetro.

How to detect

O sinal mais direto de tentativa de exploração é tráfego SMBv1 anômalo na porta 445 (ou 139) com pacotes de transação malformados — o próprio módulo Metasploit de detecção (smb_ms_17_010) usa a resposta STATUS_INSUFF_SERVER_RESOURCES a uma transação PeekNamedPipe sobre IPC$ como indicador de sistema não corrigido, o que também pode aparecer em logs de IDS/IPS como assinatura de varredura MS17-010. Presença do implante DoublePulsar (comumente instalado após exploração bem-sucedida via EternalBlue) é outro indicador forte de comprometimento pós-exploração; ferramentas específicas de detecção e neutralização de DoublePulsar foram publicadas por pesquisadores. Não há assinatura única e confiável que distinga uma tentativa de exploração de CVE-2017-0146 especificamente das demais CVEs do MS17-010 — na prática, o tráfego de ataque costuma testar ou explorar o conjunto inteiro de falhas SMBv1 de forma indistinta.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
The SMBv1 server in Microsoft Windows Vista SP2; Windows Server 2008 SP2 and R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold and R2; Windows RT 8.1; and Windows 10 Gold, 1511, and 1607; and Windows Server 2016 allows remote attackers to execute arbitrary code via crafted packets, aka "Windows SMB Remote Code Execution Vulnerability." This vulnerability is different from those described in CVE-2017-0143, CVE-2017-0144, CVE-2017-0145, and CVE-2017-0148.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.