← voltar
CVE-2021-1675highsob ataqueransomware

Windows Print Spooler Remote Code Execution Vulnerability

100Vexday Risk Score

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

ssvc Actcvss 7.8epss 85%
da publicação à arma21 dias
Publicada no NVD8 de jun.
1ª PoC+21d
metasploit8 de jun.
CISA KEV+148d
probabilidade de exploração
85%top 1% das CVEs
exploração observada
simCISA + VulnCheck
82 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2021-11-17

Apply updates per vendor instructions.

Resumo

Falha de autorização (CWE-285) no serviço Print Spooler do Windows que permite a um atacante autenticado — remoto via RPC/SMB ou local sem privilégios — executar código arbitrário com privilégios de SYSTEM. É a vulnerabilidade que deu origem ao caso 'PrintNightmare': corrigida oficialmente em junho de 2021, mas pesquisadores publicaram PoC assumindo que ainda não havia patch, e o exploit resultante também atingia uma segunda falha distinta (CVE-2021-34527), corrigida só em julho. Está no catálogo KEV da CISA com exploração confirmada.

Detalhamento técnico

A função RPC RpcAddPrinterDriverEx(), exposta pelo Print Spooler (spoolsv.exe), instala drivers de impressora recebendo dois parâmetros relevantes: um objeto DRIVER_CONTAINER (informação sobre o driver a usar) e dwFileCopyFlags (como os arquivos de driver substitutos devem ser copiados). O serviço não restringe adequadamente quem pode chamar essa função nem valida corretamente a origem do arquivo de driver especificado — daí o CWE-285, Improper Authorization.

Qualquer usuário autenticado no domínio ou na máquina pode invocar RpcAddPrinterDriverEx() apontando para um driver hospedado em um servidor remoto controlado pelo atacante. O Spooler carrega e executa esse DLL com privilégios de SYSTEM, sem o prompt de segurança que normalmente acompanha instalação de drivers não assinados/não confiáveis via Point and Print.

Versões atualizadas do exploit trocaram RpcAddPrinterDriverEx() por RpcAsyncAddPrinterDriver() — função que atinge o mesmo efeito por um caminho de chamada assíncrono, contornando a correção aplicada apenas à primeira função. Isso é o que tecnicamente separa CVE-2021-1675 (fechada pela atualização de junho/2021, endereçando RpcAddPrinterDriverEx) de CVE-2021-34527 (a vulnerabilidade 'PrintNightmare' propriamente dita, corrigida em julho/2021), embora ambas compartilhem a mesma superfície funcional (AddPrinterDriverEx) e o mesmo vetor de exploração público.

Como é explorada

Pré-requisito real: o atacante precisa de credenciais válidas no sistema alvo (usuário autenticado, sem necessidade de privilégios administrativos) — não é uma falha explorável por um atacante anônimo na internet. O vetor remoto passa por SMB (portas 139/445) e pelo Endpoint Mapper de RPC (porta 135); o vetor local não exige rede, apenas execução de código como usuário local não privilegiado na máquina vulnerável.

Na prática, o atacante hospeda um DLL malicioso em um compartilhamento acessível e chama RpcAddPrinterDriverEx() (ou RpcAsyncAddPrinterDriver()) apontando para esse caminho. O Spooler, executando como SYSTEM, carrega e executa o DLL — resultado final é execução de código arbitrário com privilégios de SYSTEM, viabilizando movimento lateral e escalação de privilégio completa em ambientes de domínio Windows.

A exploração é considerada de baixa complexidade técnica — PoC pública (PrintNightmare) e módulo Metasploit disponíveis desde 2021 tornaram o ataque trivial de reproduzir. A CISA confirma exploração ativa (entrada no KEV), com prazo de correção definido para 2021-11-17. É importante notar que boa parte da cobertura pública de 'PrintNightmare' mistura CVE-2021-1675 com CVE-2021-34527; exploits genéricos rotulados como 'PrintNightmare' frequentemente exploram a segunda falha, não esta.

Versões

Afetadas
Microsoft Windows 10 (versões 1507, 1607, 1809, 1909, 2004, 20H2, 21H1) e Windows 7, conforme listado pela Microsoft para esta CVE. O advisory da Microsoft cobre também outras linhas de Windows Server suportadas no momento, mas versões e KBs específicos de servidor não constam nas fontes consultadas — consulte o MSRC diretamente para a lista completa por SKU.
Corrigidas em
Corrigida pela atualização de segurança de junho de 2021 (patch específico para RpcAddPrinterDriverEx). Números de KB exatos por versão de Windows não constam nas fontes revisadas — verificar o Update Guide da Microsoft para o KB correspondente à build específica. Nota crítica: esse patch isolado não bloqueia a exploração via RpcAsyncAddPrinterDriver(); é necessário também o patch de julho de 2021 que corrige CVE-2021-34527 para fechar a superfície completa do 'PrintNightmare'.

Como se proteger

A Microsoft resolveu CVE-2021-1675 especificamente na atualização de segurança de junho de 2021. Instalar essa atualização cumulativa é o remediation primário — mas o CERT/CC alerta explicitamente que essa correção NÃO protege contra os exploits públicos rotulados 'PrintNightmare', que dependem de CVE-2021-34527, corrigida apenas na atualização de julho de 2021. Ou seja: aplicar só o patch de junho dá falsa sensação de segurança; é necessário também o patch de julho para cobrir RpcAsyncAddPrinterDriver().

Quando patch imediato não é viável, os workarounds documentados pela Microsoft (e replicados pelo CERT/CC) são: (1) parar e desabilitar o serviço Spooler via PowerShell (Stop-Service -Name Spooler -Force; Set-Service -Name Spooler -StartupType Disabled) — elimina impressão local e remota, custo alto em ambientes que dependem de impressão; (2) desabilitar a política 'Allow Print Spooler to accept client connections' via GPO, que bloqueia o vetor remoto mas mantém impressão local direta — requer reiniciar o serviço; (3) bloquear as portas RPC Endpoint Mapper (135/tcp) e SMB (139/445 tcp) via firewall de host, com testes limitados de eficácia e risco de quebrar funcionalidades legítimas de servidor.

Mesmo após aplicar o patch de julho (CVE-2021-34527), sistemas com a chave de registro NoWarningNoElevationOnInstall configurada para valor diferente de 0 em HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint\ permanecem vulneráveis por design, segundo a própria Microsoft — é necessário garantir NoWarningNoElevationOnInstall e UpdatePromptSettings em 0, e considerar aplicar RestrictDriverInstallationToAdministrators (documentado em KB5005010) para restringir instalação de driver a administradores.

Como detectar

Monitorar chamadas RPC para RpcAddPrinterDriverEx() e RpcAsyncAddPrinterDriver() sobre SMB (portas 139/445) e RPC Endpoint Mapper (porta 135) direcionadas ao Print Spooler, especialmente instalações de driver originadas de compartilhamentos de rede não usuais ou controlados por usuários comuns. No host, procurar spoolsv.exe carregando DLLs de caminhos de rede ou de diretórios temporários, criação de arquivos em %SystemRoot%\System32\spool\drivers\ fora do processo normal de administração, e o Spooler gerando processos filhos inesperados (cmd.exe, powershell.exe) como SYSTEM. Crashes ou reinícios inesperados do serviço Spooler em torno de operações de instalação de driver também são indicativo de tentativa de exploração — não há assinatura de rede única e confiável, dado que o tráfego RPC/SMB de instalação de driver legítima é praticamente idêntico ao malicioso sem inspeção de payload.

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.
Windows Print Spooler Remote Code Execution Vulnerability
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C
PoCs públicas encontradas82
githubgithub.com/cube0x0/CVE-2021-16751990githubgithub.com/calebstewart/CVE-2021-16751100githubgithub.com/hlldz/CVE-2021-1675-LPE325githubgithub.com/LaresLLC/CVE-2021-1675214githubgithub.com/ly4k/PrintNightmare209githubgithub.com/mstxq17/CVE-2021-1675_RDL_LPE145githubgithub.com/sailay1996/PrintNightmare-LPE77githubgithub.com/evilashz/CVE-2021-1675-LPE-EXP56githubgithub.com/cybersecurityworks553/CVE-2021-1675_PrintNightMare23githubgithub.com/JumpsecLabs/PrintNightmare19githubgithub.com/eversinc33/NimNightmare18githubgithub.com/k8gege/cve-2021-167515githubgithub.com/Wra7h/SharpPN10githubgithub.com/Leonidus0x10/CVE-2021-1675-SCANNER9githubgithub.com/corelight/CVE-2021-16759githubgithub.com/exploitblizzard/PrintNightmare-CVE-2021-16755githubgithub.com/thomasgeens/CVE-2021-16753githubgithub.com/hahaleyile/my-CVE-2021-16753githubgithub.com/yu2u/CVE-2021-16752githubgithub.com/killtr0/CVE-2021-1675-PrintNightmare2githubgithub.com/ozergoker/PrintNightmare2githubgithub.com/bartimusprimed/CVE-2021-1675-Yara2githubgithub.com/kondah/patch-cve-2021-16752githubgithub.com/DLL00P/CVE-2021-16751githubgithub.com/puckiestyle/CVE-2021-16751githubgithub.com/OppressionBreedsResistance/CVE-2021-1675-PrintNightmare1githubgithub.com/peckre/PNCVE-Win10-20H2-Exploit1githubgithub.com/Winter3un/CVE-2021-16751githubgithub.com/whoami-chmod777/CVE-2021-1675-CVE-2021-345271githubgithub.com/initconf/cve-2021-1675-printnightmare0githubgithub.com/tanarchytan/CVE-2021-16750githubgithub.com/mrezqi/CVE-2021-1675_CarbonBlack_HuntingQuery0githubgithub.com/kougyokugentou/CVE-2021-16750githubgithub.com/ptter23/CVE-2021-16750githubgithub.com/edsonjt81/CVE-2021-16750githubgithub.com/galoget/PrintNightmare-CVE-2021-1675-CVE-2021-345270githubgithub.com/thalpius/microsoft-cve-2021-16750githubgithub.com/zha0/Microsoft-CVE-2021-16750githubgithub.com/r1skkam/PrintNightmare0githubgithub.com/000Tonio/cve-2021-16750githubgithub.com/CameraShutterBug/PrintNightmare0githubgithub.com/ccordeiro/CVE-2021-16750githubgithub.com/whoami-chmod777/CVE-2021-1675---PrintNightmare-LPE-PowerShell-0githubgithub.com/0xSs0rZ/Windows_Exploit0githubgithub.com/Sp4ceDogy/NPE-CS-V-CVE-2021-16750vulncheckvulncheck.com/xdb/35c8e00c7814não verificadovulncheckvulncheck.com/xdb/3367f5a15c3enão verificadocve_referencepacketstormsecurity.com/files/163351/PrintNightmare-Windows-Spooler-Service-Remote-Code-Execution.htmlnão verificadovulncheckvulncheck.com/xdb/b93501b21b35não verificadovulncheckvulncheck.com/xdb/ea76e3b517danão verificadovulncheckvulncheck.com/xdb/22ddb70101f9não verificadovulncheckvulncheck.com/xdb/7cc2f4d6f2d5não verificadovulncheckvulncheck.com/xdb/490a73431a10não verificadovulncheckvulncheck.com/xdb/29f9009b9be9não verificadovulncheckvulncheck.com/xdb/d01d428e5b4cnão verificadovulncheckvulncheck.com/xdb/3d814c23dd9dnão verificadovulncheckvulncheck.com/xdb/ded60e94a061não verificadovulncheckvulncheck.com/xdb/a272e3e91f3anão verificadovulncheckvulncheck.com/xdb/613d6b9bd25fnão verificadovulncheckvulncheck.com/xdb/60402fe4962cnão verificadovulncheckvulncheck.com/xdb/a3f29455981bnão verificadovulncheckvulncheck.com/xdb/ddf90bbea093não verificadovulncheckvulncheck.com/xdb/dcea18151317não verificadovulncheckvulncheck.com/xdb/0c06ba53c498não verificadovulncheckvulncheck.com/xdb/b90c284dc523não verificadovulncheckvulncheck.com/xdb/462712fb0096não verificadovulncheckvulncheck.com/xdb/0d51bca37337não verificadovulncheckvulncheck.com/xdb/a45b8faa5940não verificadovulncheckvulncheck.com/xdb/0300146c83c2não verificadovulncheckvulncheck.com/xdb/da0d5a88e5dbnão verificadovulncheckvulncheck.com/xdb/97af0436c96dnão verificadovulncheckvulncheck.com/xdb/132e026d2027não verificadovulncheckvulncheck.com/xdb/debfb4d8ee62não verificadovulncheckvulncheck.com/xdb/381c98d00dfcnão verificadovulncheckvulncheck.com/xdb/6365096d731bnão verificadovulncheckvulncheck.com/xdb/a80f7a9e25f2não verificadovulncheckvulncheck.com/xdb/ffee1c151af9não verificadocve_referencepacketstormsecurity.com/files/163349/Microsoft-PrintNightmare-Proof-Of-Concept.htmlnão verificadocve_referencepacketstormsecurity.com/files/167261/Print-Spooler-Remote-DLL-Injection.htmlnão verificadovulncheckvulncheck.com/xdb/5761c571065dnão verificadovulncheckvulncheck.com/xdb/fd141cadfdd9não verificadovulncheckvulncheck.com/xdb/b2ee9973a014nã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.