← volver
CVE-2020-0796criticalbajo ataqueransomwareCWE-119

CVE-2020-0796

100Vexday Risk Score

Corrige ahora. Ella está bajo explotación confirmada por CISA y tiene exploit funcional público.

ssvc Actcvss 10epss 100%
de la publicación al arma0 días
Publicada en NVD12 mar
1ª PoC19 nov
metasploit+1d
CISA KEV+700d
probabilidad de explotación
100%top 1% de las CVE
explotación observada
CISA + VulnCheck
158 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-08-10

Apply updates per vendor instructions.

Resumen

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.

Detalle 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.

Cómo se explota

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.

Versiones

Afectadas
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).
Corregidas en
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.

Cómo protegerse

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.

Cómo 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.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
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/48216no verificadoexploitdbwww.exploit-db.com/exploits/48267no verificadoexploitdbwww.exploit-db.com/exploits/48537no 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/d7d5d53f4beano verificadovulncheckvulncheck.com/xdb/3df354d72935no verificadovulncheckvulncheck.com/xdb/33e62c3dd628no verificadovulncheckvulncheck.com/xdb/216af6a16e50no verificadovulncheckvulncheck.com/xdb/a788d7636e90no verificadovulncheckvulncheck.com/xdb/0edf8728bb5fno verificadovulncheckvulncheck.com/xdb/5f415b7a9395no verificadovulncheckvulncheck.com/xdb/04badb202b58no verificadovulncheckvulncheck.com/xdb/d69aadafc43ano verificadovulncheckvulncheck.com/xdb/b8b6072526a3no verificadovulncheckvulncheck.com/xdb/ff75d491e221no verificadovulncheckvulncheck.com/xdb/48181658a679no verificadovulncheckvulncheck.com/xdb/fff5ddf87547no verificadovulncheckvulncheck.com/xdb/14a46f453670no verificadovulncheckvulncheck.com/xdb/2a4b6e1593ebno verificadovulncheckvulncheck.com/xdb/0dcd49541f47no verificadovulncheckvulncheck.com/xdb/4e6bc5ec8634no verificadovulncheckvulncheck.com/xdb/5f4027f27daeno verificadovulncheckvulncheck.com/xdb/a84af6033bbano verificadocve_referencepacketstormsecurity.com/files/156731/CoronaBlue-SMBGhost-Microsoft-Windows-10-SMB-3.1.1-Proof-Of-Concept.htmlno verificadocve_referencepacketstormsecurity.com/files/156732/Microsoft-Windows-SMB-3.1.1-Remote-Code-Execution.htmlno verificadocve_referencepacketstormsecurity.com/files/156980/Microsoft-Windows-10-SMB-3.1.1-Local-Privilege-Escalation.htmlno verificadocve_referencepacketstormsecurity.com/files/157110/SMBv3-Compression-Buffer-Overflow.htmlno verificadocve_referencepacketstormsecurity.com/files/157901/Microsoft-Windows-SMBGhost-Remote-Code-Execution.htmlno verificadocve_referencepacketstormsecurity.com/files/158054/SMBleed-SMBGhost-Pre-Authentication-Remote-Code-Execution-Proof-Of-Concept.htmlno verificadovulncheckvulncheck.com/xdb/1e6f8ca038f7no verificadovulncheckvulncheck.com/xdb/673033cc1f2dno verificadovulncheckvulncheck.com/xdb/9f1dbe33c767no verificadovulncheckvulncheck.com/xdb/484b2a81c82eno verificadovulncheckvulncheck.com/xdb/1f736df77952no verificadovulncheckvulncheck.com/xdb/424a6065b5a6no verificadovulncheckvulncheck.com/xdb/f1c35a49bda4no verificadovulncheckvulncheck.com/xdb/c349096df32eno verificadovulncheckvulncheck.com/xdb/405831a8e860no verificadovulncheckvulncheck.com/xdb/92253f0cfed5no verificadovulncheckvulncheck.com/xdb/5e7a0bf92c1ano verificadovulncheckvulncheck.com/xdb/f25ef6c781a3no verificadovulncheckvulncheck.com/xdb/33fb0416877cno verificadovulncheckvulncheck.com/xdb/234a8c77ec20no verificadovulncheckvulncheck.com/xdb/d44cedf42a97no verificadovulncheckvulncheck.com/xdb/059158002b34no verificadovulncheckvulncheck.com/xdb/19e081f7a0e0no verificadovulncheckvulncheck.com/xdb/ac5de3e67dd5no verificadovulncheckvulncheck.com/xdb/1fe25bc46b28no verificadovulncheckvulncheck.com/xdb/28ef5a320ff6no verificadovulncheckvulncheck.com/xdb/1433f57a34a7no verificadovulncheckvulncheck.com/xdb/db287bfd1300no verificadovulncheckvulncheck.com/xdb/002285bd34cfno verificadovulncheckvulncheck.com/xdb/35944ecc6741no verificadovulncheckvulncheck.com/xdb/c61e689a70b5no verificadovulncheckvulncheck.com/xdb/1bd0e82ed8eeno verificadovulncheckvulncheck.com/xdb/935c9e284cc4no verificadovulncheckvulncheck.com/xdb/9e0eebcc0239no verificadovulncheckvulncheck.com/xdb/8055bf519ef5no verificadovulncheckvulncheck.com/xdb/189b546ce23dno verificadovulncheckvulncheck.com/xdb/f8f7a66ca404no verificadovulncheckvulncheck.com/xdb/cf4d2847f48ano verificadovulncheckvulncheck.com/xdb/962a618f3543no verificadovulncheckvulncheck.com/xdb/132b45db5c90no verificadovulncheckvulncheck.com/xdb/df0832d0144eno verificadovulncheckvulncheck.com/xdb/42d4e59819e1no verificadovulncheckvulncheck.com/xdb/0783c8074cffno verificadovulncheckvulncheck.com/xdb/17f7ca6e1bfano verificadovulncheckvulncheck.com/xdb/a08cd7c0ec40no verificadovulncheckvulncheck.com/xdb/6d070666358ano verificadovulncheckvulncheck.com/xdb/c489f75bf99dno verificado
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.