← voltar
CVE-2020-0796criticalsob ataqueransomwareCWE-119

CVE-2020-0796

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.

ssvc Actcvss 10epss 100%
da publicação à arma0 dias
Publicada no NVD12 de mar.
1ª PoC19 de nov.
metasploit+1d
CISA KEV+700d
probabilidade de exploração
100%top 1% das CVEs
exploração observada
simCISA + VulnCheck
158 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-08-10

Apply updates per vendor instructions.

Resumo

SMBGhost é uma falha crítica no driver de kernel do servidor SMBv3.1.1 do Windows (srv2.sys), causada por um erro no cálculo do tamanho de buffer ao processar mensagens comprimidas do protocolo. Afeta apenas as builds 1903 e 1909 do Windows 10 e do Windows Server (Server Core) — não o restante do parque Windows —, mas nesses ramos permite execução de código sem autenticação, tanto contra um servidor SMB exposto quanto contra um cliente que se conecta a um servidor malicioso. O CVSS 10.0 reflete corretamente a gravidade técnica; a limitação real de impacto é o escopo estreito de versões afetadas.

Detalhamento técnico

A falha está na forma como o driver srv2.sys (componente servidor do SMBv3) e o cliente SMBv3 tratam o recurso de compressão introduzido no SMB 3.1.1. Ao processar um cabeçalho de mensagem comprimida, o código lê o campo OriginalCompressedSegmentSize enviado pelo peer e usa esse valor, sem validação adequada, para calcular o tamanho do buffer de descompressão. Um valor manipulado provoca um integer overflow (CWE-190) que resulta em alocação de buffer menor que o necessário, levando a um buffer overflow no espaço de kernel (CWE-122/CWE-787) quando os dados descomprimidos são copiados.

O atacante controla o campo de tamanho declarado e o conteúdo do payload comprimido enviado na negociação/transporte da mensagem SMB3. Como o processamento ocorre em kernel-mode antes de qualquer autenticação de sessão SMB, a corrupção de memória acontece em contexto privilegiado — daí a nota de exploração 'pré-autenticação'.

Existe um vetor duplo: servidor (um cliente malicioso ataca uma máquina Windows vulnerável que expõe SMB na porta 445) e cliente (um servidor SMB malicioso controlado pelo atacante ataca um cliente Windows vulnerável que se conecta a ele, por exemplo via montagem de compartilhamento). A vulnerabilidade correlata CVE-2020-1206 (SMBleed), no mesmo caminho de código de compressão, permite leitura de memória de kernel e foi combinada por pesquisadores com o SMBGhost (cadeia 'SMBleedingGhost') para obter RCE mais confiável, contornando mitigações como KASLR.

Como é explorada

As primeiras provas de conceito públicas (CoronaBlue e variantes) produziam apenas negação de serviço — BSOD por corrupção de memória no kernel —, e essa continua sendo a forma mais simples e confiável de explorar a falha remotamente contra a porta TCP 445 sem qualquer autenticação. A escalada para execução de código arbitrário em kernel é significativamente mais complexa: exige controle preciso do layout de heap do kernel e, na prática, foi demonstrada de forma mais robusta combinando o SMBGhost com o vazamento de memória do SMBleed (CVE-2020-1206) para vencer proteções de mitigação de exploração.

O vetor mais comumente visto em campo e em módulos de teste (incluindo Metasploit) é a negação de serviço contra hosts com SMB exposto à rede — cenário típico de máquinas Windows 10/Server 1903/1909 acessíveis pela porta 445, seja na rede interna, seja, em configurações mal seguras, diretamente na internet. Não é necessária credencial nem interação do usuário (UI:N) para o vetor servidor; para o vetor cliente, basta a máquina vulnerável se conectar a um compartilhamento SMB controlado pelo atacante.

A CISA incluiu a CVE-2020-0796 no catálogo KEV por exploração confirmada em ambiente real, e a disponibilidade de exploit público, módulo Metasploit e templates de scanner (Nuclei) tornou a varredura e a tentativa de exploração triviais de automatizar assim que o patch saiu — inclusive antes da divulgação oficial completa, já que detalhes da falha vazaram brevemente em advisories de terceiros antes do Patch Tuesday de março de 2020.

Versões

Afetadas
Microsoft Windows 10 Version 1903 (32-bit, ARM64, x64); Microsoft Windows 10 Version 1909 (32-bit, ARM64, x64); Microsoft Windows Server, version 1903 (Server Core installation); Microsoft Windows Server, version 1909 (Server Core installation).
Corrigidas em
Atualização de segurança fora de banda da Microsoft para os builds 1903 e 1909, distribuída a partir de 12 de março de 2020 (ADV200005 / KB4551762). Versões do Windows fora desses dois ramos (anteriores ao 1903 ou posteriores ao 1909) não são afetadas por esta CVE específica.

Como se proteger

A correção definitiva é aplicar a atualização de segurança da Microsoft para os ramos afetados (Windows 10 1903/1909 e Windows Server 1903/1909 Server Core), lançada fora do ciclo normal em 12 de março de 2020 como parte do ADV200005/patch associado à KB4551762. Não há correção para versões anteriores ou posteriores do Windows porque elas simplesmente não contêm o código de compressão SMB 3.1.1 introduzido nesses builds — o problema é específico dessas duas versões.

Se a atualização não puder ser aplicada imediatamente, a Microsoft publicou um paliativo oficial: desabilitar a compressão SMBv3 via registro (chave em Services\LanmanServer\Parameters, valor DisableCompression). Isso neutraliza o vetor servidor, pois impede o processamento do caminho de código vulnerável na recepção de mensagens comprimidas, mas não protege o vetor cliente — uma máquina vulnerável ainda pode ser atacada ao se conectar a um servidor SMB malicioso. Bloquear a porta TCP 445 de entrada e saída no perímetro de rede reduz a exposição ao vetor servidor pela internet, mas não protege contra ataques originados dentro da rede interna nem contra o vetor cliente.

Não funciona como mitigação: apenas manter firewall pessoal do Windows ativo sem bloquear explicitamente 445, ou confiar em segmentação de rede que ainda permita tráfego SMB lateral entre estações — o histórico de exploração do EternalBlue mostrou que esse tipo de suposição falha na prática. Antivírus e EDR não bloqueiam de forma confiável a corrupção de memória em kernel antes que ela ocorra; detectam, na melhor hipótese, o comportamento pós-exploração.

Como detectar

Em tráfego de rede, o indício é a presença de mensagens SMB2 com o flag de compressão habilitado no header (SMB2_COMPRESSION_TRANSFORM) e valores anômalos ou inconsistentes no campo de tamanho original declarado (OriginalCompressedSegmentSize) trafegando na porta TCP 445 — sensores de rede e IDS/IPS com assinaturas para SMBGhost focam nesse padrão. Em nível de host, sinais de exploração de DoS aparecem como crash/BSOD do processo do driver srv2.sys nos logs de sistema e no Windows Error Reporting, com referência a falha em ntfs.sys/srv2.sys ou a um bug check de corrupção de memória.

Não há assinatura única e confiável para distinguir exploração de RCE bem-sucedida de simples tentativa de DoS a partir apenas de logs padrão do Windows — a confirmação de comprometimento normalmente exige análise forense de memória/kernel após um crash suspeito, já que o overflow ocorre antes de qualquer autenticação e não deixa rastro nos logs de aplicação SMB.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
A remote code execution vulnerability exists in the way that the Microsoft Server Message Block 3.1.1 (SMBv3) protocol handles certain requests, aka 'Windows SMBv3 Client/Server Remote Code Execution Vulnerability'.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
PoCs públicas encontradas158
exploitdbwww.exploit-db.com/exploits/48216não verificadoexploitdbwww.exploit-db.com/exploits/48267não verificadoexploitdbwww.exploit-db.com/exploits/48537não verificadogithubgithub.com/danigargu/CVE-2020-07961358githubgithub.com/ly4k/SMBGhost719githubgithub.com/jamf/CVE-2020-0796-RCE-POC573githubgithub.com/Barriuso/SMBGhost_AutomateExploitation354githubgithub.com/eerykitty/CVE-2020-0796-PoC332githubgithub.com/jamf/CVE-2020-0796-LPE-POC244githubgithub.com/Rvn0xsy/CVE_2020_0796_CNA75githubgithub.com/rsmudge/CVE-2020-0796-BOF70githubgithub.com/jiansiting/CVE-2020-079664githubgithub.com/ioncodes/SMBGhost57githubgithub.com/k8gege/PyLadon51githubgithub.com/jamf/SMBGhost-SMBleed-scanner44githubgithub.com/eastmountyxz/CVE-2020-0796-SMB33githubgithub.com/T13nn3s/CVE-2020-079628githubgithub.com/maxpl0it/Unauthenticated-CVE-2020-0796-PoC22githubgithub.com/Almorabea/SMBGhost-LPE-Metasploit-Module20githubgithub.com/gabimarti/SMBScanner19githubgithub.com/0x25bit/CVE-2020-0796-PoC18githubgithub.com/f1tz/CVE-2020-0796-LPE-EXP17githubgithub.com/ButrintKomoni/cve-2020-079617githubgithub.com/GuoKerS/aioScan_CVE-2020-079615githubgithub.com/dickens88/cve-2020-0796-scanner14githubgithub.com/w1ld3r/SMBGhost_Scanner14githubgithub.com/joaozietolie/CVE-2020-0796-Checker14githubgithub.com/thelostworldFree/CVE-2020-079611githubgithub.com/jiansiting/CVE-2020-0796-Scanner9githubgithub.com/technion/DisableSMBCompression9githubgithub.com/0xeb-bp/cve-2020-07967githubgithub.com/dungnm24/CVE-2020-07966githubgithub.com/orangmuda/CVE-2020-07965githubgithub.com/vysecurity/CVE-2020-07965githubgithub.com/tango-j/CVE-2020-07964githubgithub.com/wneessen/SMBCompScan4githubgithub.com/codewithpradhan/SMBGhost-CVE-2020-0796-3githubgithub.com/sujitawake/smbghost3githubgithub.com/exp-sky/CVE-2020-07963githubgithub.com/Jagadeesh7532/-CVE-2020-0796-SMBGhost-Windows-10-SMBv3-Remote-Code-Execution-Vulnerability2githubgithub.com/Anonimo501/SMBGhost_CVE-2020-0796_checker2githubgithub.com/TinToSer/CVE-2020-0796-LPE2githubgithub.com/laolisafe/CVE-2020-07962githubgithub.com/DannyRavi/nmap-scripts2githubgithub.com/MasterSploit/LPE---CVE-2020-07962githubgithub.com/F6JO/CVE-2020-0796-Batch-scanning1githubgithub.com/datntsec/CVE-2020-07961githubgithub.com/1stPeak/CVE-2020-0796-Scanner1githubgithub.com/OldDream666/cve-2020-07961githubgithub.com/SEHandler/CVE-2020-07961githubgithub.com/arzuozkan/CVE-2020-07961githubgithub.com/LabDookhtegan/CVE-2020-0796-EXP1githubgithub.com/awareseven/eternalghosttest1githubgithub.com/ran-sama/CVE-2020-07961githubgithub.com/Dhoomralochana/Scanners-for-CVE-2020-0796-Testing1githubgithub.com/AdamSonov/smbGhostCVE-2020-07961githubgithub.com/BinaryShadow94/SMBv3.1.1-scan---CVE-2020-07961githubgithub.com/bsec404/CVE-2020-07961githubgithub.com/netscylla/SMBGhost1githubgithub.com/cybermads/CVE-2020-07961githubgithub.com/julixsalas/CVE-2020-07961githubgithub.com/cory-zajicek/CVE-2020-0796-DoS1githubgithub.com/kn6869610/CVE-2020-07960githubgithub.com/xax007/CVE-2020-0796-Scanner0githubgithub.com/UraSecTeam/smbee0githubgithub.com/Almorabea/SMBGhost-WorkaroundApplier0githubgithub.com/wsfengfan/CVE-2020-07960githubgithub.com/tripledd/cve-2020-0796-vuln0githubgithub.com/intelliroot-tech/cve-2020-0796-Scanner0githubgithub.com/section-c/CVE-2020-07960githubgithub.com/hungdnvp/POC-CVE-2020-07960githubgithub.com/z3ena/Exploiting-and-Mitigating-CVE-2020-0796-SMBGhost-and-Print-Spooler-Vulnerabilities0githubgithub.com/monjheta/CVE-2020-07960githubgithub.com/tdevworks/CVE-2020-0796-SMBGhost-Exploit-Demo0githubgithub.com/maqeel-git/CVE-2020-07960githubgithub.com/esmwaSpyware/DoS-PoC-for-CVE-2020-0796-SMBGhost-0githubgithub.com/nyambiblaise/Microsoft-Windows-SMBGhost-Vulnerability-Checker---CVE-2020-0796---SMBv3-RCE0githubgithub.com/thai1012/cve-2020-07960githubgithub.com/p4ncontomat3/smbghost0githubgithub.com/Justjeff211/conti-ransomware-writeup0githubgithub.com/bacth0san96/SMBGhostScanner0githubgithub.com/halsten/CVE-2020-07960githubgithub.com/ysyyrps123/CVE-2020-07960githubgithub.com/ysyyrps123/CVE-2020-0796-exp0githubgithub.com/1060275195/SMBGhost0githubgithub.com/AaronCaiii/CVE-2020-0796-POC0githubgithub.com/Opensitoo/cve-2020-07960githubgithub.com/Murasame-nc/CVE-2020-0796-LPE-POC0githubgithub.com/lisinan988/CVE-2020-0796-exp0githubgithub.com/vsai94/ECE9069_SMBGhost_Exploit_CVE-2020-0796-0githubgithub.com/TweatherQ/CVE-2020-07960githubgithub.com/krizzz07/CVE-2020-07960vulncheckvulncheck.com/xdb/d7d5d53f4beanão verificadovulncheckvulncheck.com/xdb/3df354d72935não verificadovulncheckvulncheck.com/xdb/33e62c3dd628não verificadovulncheckvulncheck.com/xdb/216af6a16e50não verificadovulncheckvulncheck.com/xdb/a788d7636e90não verificadovulncheckvulncheck.com/xdb/0edf8728bb5fnão verificadovulncheckvulncheck.com/xdb/5f415b7a9395não verificadovulncheckvulncheck.com/xdb/04badb202b58não verificadovulncheckvulncheck.com/xdb/d69aadafc43anão verificadovulncheckvulncheck.com/xdb/b8b6072526a3não verificadovulncheckvulncheck.com/xdb/ff75d491e221não verificadovulncheckvulncheck.com/xdb/48181658a679não verificadovulncheckvulncheck.com/xdb/fff5ddf87547não verificadovulncheckvulncheck.com/xdb/14a46f453670não verificadovulncheckvulncheck.com/xdb/2a4b6e1593ebnão verificadovulncheckvulncheck.com/xdb/0dcd49541f47não verificadovulncheckvulncheck.com/xdb/4e6bc5ec8634não verificadovulncheckvulncheck.com/xdb/5f4027f27daenão verificadovulncheckvulncheck.com/xdb/a84af6033bbanão verificadocve_referencepacketstormsecurity.com/files/156731/CoronaBlue-SMBGhost-Microsoft-Windows-10-SMB-3.1.1-Proof-Of-Concept.htmlnão verificadocve_referencepacketstormsecurity.com/files/156732/Microsoft-Windows-SMB-3.1.1-Remote-Code-Execution.htmlnão verificadocve_referencepacketstormsecurity.com/files/156980/Microsoft-Windows-10-SMB-3.1.1-Local-Privilege-Escalation.htmlnão verificadocve_referencepacketstormsecurity.com/files/157110/SMBv3-Compression-Buffer-Overflow.htmlnão verificadocve_referencepacketstormsecurity.com/files/157901/Microsoft-Windows-SMBGhost-Remote-Code-Execution.htmlnão verificadocve_referencepacketstormsecurity.com/files/158054/SMBleed-SMBGhost-Pre-Authentication-Remote-Code-Execution-Proof-Of-Concept.htmlnão verificadovulncheckvulncheck.com/xdb/1e6f8ca038f7não verificadovulncheckvulncheck.com/xdb/673033cc1f2dnão verificadovulncheckvulncheck.com/xdb/9f1dbe33c767não verificadovulncheckvulncheck.com/xdb/484b2a81c82enão verificadovulncheckvulncheck.com/xdb/1f736df77952não verificadovulncheckvulncheck.com/xdb/424a6065b5a6não verificadovulncheckvulncheck.com/xdb/f1c35a49bda4não verificadovulncheckvulncheck.com/xdb/c349096df32enão verificadovulncheckvulncheck.com/xdb/405831a8e860não verificadovulncheckvulncheck.com/xdb/92253f0cfed5não verificadovulncheckvulncheck.com/xdb/5e7a0bf92c1anão verificadovulncheckvulncheck.com/xdb/f25ef6c781a3não verificadovulncheckvulncheck.com/xdb/33fb0416877cnão verificadovulncheckvulncheck.com/xdb/234a8c77ec20não verificadovulncheckvulncheck.com/xdb/d44cedf42a97não verificadovulncheckvulncheck.com/xdb/059158002b34não verificadovulncheckvulncheck.com/xdb/19e081f7a0e0não verificadovulncheckvulncheck.com/xdb/ac5de3e67dd5não verificadovulncheckvulncheck.com/xdb/1fe25bc46b28não verificadovulncheckvulncheck.com/xdb/28ef5a320ff6não verificadovulncheckvulncheck.com/xdb/1433f57a34a7não verificadovulncheckvulncheck.com/xdb/db287bfd1300não verificadovulncheckvulncheck.com/xdb/002285bd34cfnão verificadovulncheckvulncheck.com/xdb/35944ecc6741não verificadovulncheckvulncheck.com/xdb/c61e689a70b5não verificadovulncheckvulncheck.com/xdb/1bd0e82ed8eenão verificadovulncheckvulncheck.com/xdb/935c9e284cc4não verificadovulncheckvulncheck.com/xdb/9e0eebcc0239não verificadovulncheckvulncheck.com/xdb/8055bf519ef5não verificadovulncheckvulncheck.com/xdb/189b546ce23dnão verificadovulncheckvulncheck.com/xdb/f8f7a66ca404não verificadovulncheckvulncheck.com/xdb/cf4d2847f48anão verificadovulncheckvulncheck.com/xdb/962a618f3543não verificadovulncheckvulncheck.com/xdb/132b45db5c90não verificadovulncheckvulncheck.com/xdb/df0832d0144enão verificadovulncheckvulncheck.com/xdb/42d4e59819e1não verificadovulncheckvulncheck.com/xdb/0783c8074cffnão verificadovulncheckvulncheck.com/xdb/17f7ca6e1bfanão verificadovulncheckvulncheck.com/xdb/a08cd7c0ec40não verificadovulncheckvulncheck.com/xdb/6d070666358anão verificadovulncheckvulncheck.com/xdb/c489f75bf99dnão verificado
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.