← volver
CVE-2021-1675highbajo ataqueransomware

Windows Print Spooler Remote Code Execution Vulnerability

100Vexday Risk Score

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

ssvc Actcvss 7.8epss 85%
de la publicación al arma21 días
Publicada en NVD8 jun
1ª PoC+21d
metasploit8 jun
CISA KEV+148d
probabilidad de explotación
85%top 1% de las CVE
explotación observada
CISA + VulnCheck
82 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2021-11-17

Apply updates per vendor instructions.

Resumen

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.

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

Cómo se explota

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.

Versiones

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

Cómo protegerse

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.

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

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.
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/35c8e00c7814no verificadovulncheckvulncheck.com/xdb/3367f5a15c3eno verificadocve_referencepacketstormsecurity.com/files/163351/PrintNightmare-Windows-Spooler-Service-Remote-Code-Execution.htmlno verificadovulncheckvulncheck.com/xdb/b93501b21b35no verificadovulncheckvulncheck.com/xdb/ea76e3b517dano verificadovulncheckvulncheck.com/xdb/22ddb70101f9no verificadovulncheckvulncheck.com/xdb/7cc2f4d6f2d5no verificadovulncheckvulncheck.com/xdb/490a73431a10no verificadovulncheckvulncheck.com/xdb/29f9009b9be9no verificadovulncheckvulncheck.com/xdb/d01d428e5b4cno verificadovulncheckvulncheck.com/xdb/3d814c23dd9dno verificadovulncheckvulncheck.com/xdb/ded60e94a061no verificadovulncheckvulncheck.com/xdb/a272e3e91f3ano verificadovulncheckvulncheck.com/xdb/613d6b9bd25fno verificadovulncheckvulncheck.com/xdb/60402fe4962cno verificadovulncheckvulncheck.com/xdb/a3f29455981bno verificadovulncheckvulncheck.com/xdb/ddf90bbea093no verificadovulncheckvulncheck.com/xdb/dcea18151317no verificadovulncheckvulncheck.com/xdb/0c06ba53c498no verificadovulncheckvulncheck.com/xdb/b90c284dc523no verificadovulncheckvulncheck.com/xdb/462712fb0096no verificadovulncheckvulncheck.com/xdb/0d51bca37337no verificadovulncheckvulncheck.com/xdb/a45b8faa5940no verificadovulncheckvulncheck.com/xdb/0300146c83c2no verificadovulncheckvulncheck.com/xdb/da0d5a88e5dbno verificadovulncheckvulncheck.com/xdb/97af0436c96dno verificadovulncheckvulncheck.com/xdb/132e026d2027no verificadovulncheckvulncheck.com/xdb/debfb4d8ee62no verificadovulncheckvulncheck.com/xdb/381c98d00dfcno verificadovulncheckvulncheck.com/xdb/6365096d731bno verificadovulncheckvulncheck.com/xdb/a80f7a9e25f2no verificadovulncheckvulncheck.com/xdb/ffee1c151af9no verificadocve_referencepacketstormsecurity.com/files/163349/Microsoft-PrintNightmare-Proof-Of-Concept.htmlno verificadocve_referencepacketstormsecurity.com/files/167261/Print-Spooler-Remote-DLL-Injection.htmlno verificadovulncheckvulncheck.com/xdb/5761c571065dno verificadovulncheckvulncheck.com/xdb/fd141cadfdd9no verificadovulncheckvulncheck.com/xdb/b2ee9973a014no verificado
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.