LPD falhando após updates de julho/2024 (CVE‑2024‑38027): correção oficial, KIR MSI e mitigações para Windows Server

Após as atualizações cumulativas de julho/2024, muitos ambientes viram o serviço LPD cair logo após o primeiro job ou de forma intermitente. Veja como identificar, mitigar e corrigir de forma segura, com passos prescritivos e verificações rápidas.

Índice

Visão geral e contexto

Se o seu servidor de impressão usa o LPD (serviço LPDSVC) para receber trabalhos de hosts Unix, SAP, equipamentos industriais ou appliances, é provável que tenha sido impactado pelas mudanças de segurança associadas ao CVE‑2024‑38027, introduzidas nos cumulativos de julho. Os efeitos típicos incluem travamentos do processo, jobs perdidos e reinícios constantes do serviço.

A boa notícia: o cumulativo de agosto resolveu o problema na maioria dos cenários. A seguir, um guia prático para corrigir definitivamente, além de mitigações seguras para quem ainda não pode atualizar.

Sintomas observados

  • O serviço LPDSVC cai logo após receber o primeiro job ou de forma intermitente ao longo do dia.
  • Eventos apontando falhas em svchost.exe_LPDSVC e ntdll.dll; em alguns ambientes, falhas em PrintIsolationHost.exe.
  • Início do problema imediatamente após os cumulativos de julho serem instalados.

Sistemas afetados e atualizações envolvidas

As compilações abaixo introduziram o comportamento no mês de julho:

ProdutoAtualização cumulativaComponente afetado
Windows Server 2016KB5040434LPD (LPDSVC)
Windows Server 2019KB5040430LPD (LPDSVC)
Windows Server 2022KB5040437LPD (LPDSVC)
Windows 11 (alguns cenários)Cumulativo de julho correspondenteLPD opcional instalado

A correção foi disponibilizada no Patch Tuesday de agosto e, na prática, normalizou o LPD para a maior parte dos ambientes:

ProdutoAtualização cumulativa com correçãoObservações de campo
Windows Server 2016KB5041773Restabelece a estabilidade do serviço na maioria dos casos.
Windows Server 2019KB5041578Relatos isolados de falhas persistentes em PrintIsolationHost.exe em ambientes com drivers/monitores de terceiros.
Windows Server 2022KB5041160Comportamento estável após a instalação e reinício.

Recomendação prioritária

Aplique o cumulativo de agosto correspondente ao seu sistema, reinicie e valide os fluxos LPD. Esta é a solução oficial e definitiva na maioria dos ambientes. Em seguida, remova qualquer mitigação temporária (KIR, tarefas agendadas, substituições de DLL, configurações agressivas de recuperação) para voltar à configuração padrão e reduzir risco operacional.

Mitigações temporárias

Se ainda não é possível atualizar para o cumulativo de agosto, utilize uma ou mais das alternativas abaixo, com ordem de preferência e controle de risco.

Rollback conhecido via pacote MSI

A Microsoft disponibilizou pacotes MSI de Known Issue Rollback específicos por versão (2016, 2019, 2022). Depois de instalar o MSI:

  1. Localize as novas políticas criadas pelo pacote KIR (via GPO ou Política Local). Elas vêm com descrição clara do escopo do rollback.
  2. Defina a política adicionada pelo KIR como Desativado conforme a orientação do pacote e as observações de campo (em vários ambientes, a definição como Desativado aplicou o rollback).
  3. Execute gpupdate /force e reinicie o servidor de impressão.

Dica: alguns ambientes só observaram efeito após o ciclo completo gpupdate /force + reboot. Leia o texto “Explain” da própria política: ele indica exatamente o estado que ativa o rollback.

Remoção do cumulativo problemático

Funciona, mas deve ser a última opção, pois remove correções de segurança. Se for inevitável, remova o cumulativo de julho correspondente e garanta bloqueio controlado da reimplantação via WSUS/Intune até aplicar o de agosto.

DISM /Online /Get-Packages | findstr KB504043
wusa /uninstall /kb:5040434 /quiet /norestart   <!-- Server 2016 -->
wusa /uninstall /kb:5040430 /quiet /norestart   <!-- Server 2019 -->
wusa /uninstall /kb:5040437 /quiet /norestart   <!-- Server 2022 -->

Manter o serviço disponível até a correção

Configure a recuperação do serviço para minimizar impacto operacional enquanto o patch não é aplicado:

sc.exe failureflag LPDSVC 1
sc.exe failure LPDSVC reset= 0 actions= restart/60000/restart/60000/restart/60000
sc.exe config LPDSVC start= auto

Se preferir automatizar uma verificação periódica, crie uma tarefa agendada que roda a cada cinco minutos para reiniciar o serviço quando necessário:

powershell.exe -NoProfile -ExecutionPolicy Bypass -Command ^
  "$s = Get-Service -Name LPDSVC -ErrorAction SilentlyContinue; `
   if ($null -ne $s -and $s.Status -ne 'Running') { Start-Service LPDSVC }"

Bloqueio em produção até a atualização

  • WSUS: recuse explicitamente os KB de julho para os grupos de destino que expõem LPD, ou crie um grupo “excluir LPD” sem aprovação desses KB.
  • Intune: ajuste o anel de qualidade para adiar a instalação do cumulativo de julho nos servidores de impressão; aplique o cumulativo de agosto assim que estiver validado no laboratório.

Medida não suportada

Substituir manualmente lpdsvc.dll por uma versão antiga pode funcionar, mas não é recomendado por motivos de segurança e suporte. Se foi adotado como contingência, desfaça após aplicar a correção de agosto.

Como confirmar se o servidor está afetado

Os comandos a seguir ajudam a identificar rapidamente a presença dos KB e o estado do serviço:

# Verificar KBs de julho (introdução do problema)
$kbJulho = 'KB5040434','KB5040430','KB5040437'
Get-HotFix | Where-Object { $kbJulho -contains $_.HotFixID } | Select HotFixID,InstalledOn

Verificar KBs de agosto (correção)

\$kbAgosto = 'KB5041773','KB5041578','KB5041160'
Get-HotFix | Where-Object { \$kbAgosto -contains $\_.HotFixID } | Select HotFixID,InstalledOn

Estado do LPD

Get-Service -Name LPDSVC | Format-List Name,Status,StartType 

Procedimento prescritivo para correção

  1. Planeje a mudança: janela de manutenção, validação de impressão, contato com as equipes consumidoras do LPD (SAP, Unix, equipamentos).
  2. Tire um retrato do estado atual: KBs instalados, drivers e monitores de impressão de terceiros, políticas de KIR e tarefas de “auto-restart” do LPD.
  3. Instale o cumulativo de agosto apropriado (veja a tabela) e reinicie.
  4. Valide o fluxo com um job de teste via LPR: lpr -S <ipdoservidor> -P <fila_lpd> C:\Windows\win.ini
  5. Remova mitigação temporária:
    • Se usou KIR, retorne as políticas a Não Configurado.
    • Remova tarefas agendadas/scrips de monitoramento específicos.
    • Restabeleça as configurações de recuperação do serviço ao padrão da sua organização.
    • Se houve substituição de DLL, restaure a versão oficial do sistema.
  6. Monitore por pelo menos um ciclo de negócios (ex.: 24–72 horas) e colete eventos.

Triagem avançada quando a falha persiste

Se o LPD continuar instável após o cumulativo de agosto, geralmente há interação com drivers/monitores de terceiros ou fluxos específicos. Sugestões:

  • Eventos: avalie o Log do Aplicativo e o Microsoft-Windows-PrintService (Administrativo e Operacional). Procure por falhas de PrintIsolationHost.exe e exceções em ntdll.dll.
  • Isolamento: teste temporariamente sem monitores/port monitors de terceiros; use drivers nativos de classe para excluir variáveis.
  • Atualizações de fornecedores: verifique versões de drivers e agentes de soluções de impressão (ex.: SAPLPD, gerenciadores de filas).

Para coletar dumps de falha e acelerar análise com o suporte:

reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\svchost.exe" /v DumpType /t REG_DWORD /d 2 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\svchost.exe" /v DumpCount /t REG_DWORD /d 5 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\PrintIsolationHost.exe" /v DumpType /t REG_DWORD /d 2 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\PrintIsolationHost.exe" /v DumpCount /t REG_DWORD /d 5 /f

Boas práticas para ambientes com LPD

  • Isolamento do servidor de impressão: use servidores dedicados para LPD quando há alto volume ou requisitos específicos de fila.
  • Observabilidade: monitore LPDSVC e o PrintService com coletores de eventos; alerte para quedas do serviço e jobs em fila por muito tempo.
  • Plano de regressão: documente a estratégia de KIR e mantenha pacotes prontos para rápida aplicação em incidentes semelhantes.
  • Modernização gradual: quando possível, avalie a migração de fluxos críticos para protocolos modernos (IPP/IPP‑over‑TLS, Universal Print, SMB) com autenticação e criptografia fortes.

Modelos prontos para automação

Use os trechos abaixo conforme o seu padrão de gestão de configuração (GPO, Intune, ConfigMgr, scripts remotos):

Verificação completa em lote

# Salve como Verifica-LPD.ps1
$servers = Get-Content .\servidores.txt
$kbJulho = 'KB5040434','KB5040430','KB5040437'
$kbAgosto = 'KB5041773','KB5041578','KB5041160'

\$result = foreach (\$srv in \$servers) {
try {
\$hotfix = Invoke-Command -ComputerName \$srv -ScriptBlock {
\$j = 'KB5040434','KB5040430','KB5040437'
\$a = 'KB5041773','KB5041578','KB5041160'
\[pscustomobject]@{
JulhoPresente  = \[bool]\(Get-HotFix | ? { \$j -contains \$*.HotFixID })
AgostoPresente = \[bool]\(Get-HotFix | ? { \$a -contains \$*.HotFixID })
LPD            = (Get-Service LPDSVC -ErrorAction SilentlyContinue).Status
}
}
\[pscustomobject]@{ Servidor=\$srv; Julho=\$hotfix.JulhoPresente; Agosto=\$hotfix.AgostoPresente; LPD=\$hotfix.LPD }
} catch {
\[pscustomobject]@{ Servidor=\$srv; Julho=\$null; Agosto=\$null; LPD='Erro' }
}
}
\$result | Format-Table -AutoSize 

Política de recuperação do serviço

# Ajuste de recuperação do LPD em escala
Invoke-Command -ComputerName (Get-Content .\servidores.txt) -ScriptBlock {
  sc.exe failureflag LPDSVC 1 | Out-Null
  sc.exe failure LPDSVC reset= 0 actions= restart/60000/restart/60000/restart/60000 | Out-Null
}

Tarefa agendada para manter o serviço

$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NoProfile -WindowStyle Hidden -Command `"if((Get-Service LPDSVC).Status -ne 'Running'){Start-Service LPDSVC}`""
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(1) -RepetitionInterval (New-TimeSpan -Minutes 5) -RepetitionDuration ([TimeSpan]::MaxValue)
Register-ScheduledTask -TaskName "Keep-LPDSVC-Running" -Action $action -Trigger $trigger -RunLevel Highest -Force

Checklist rápido para incidentes

  • Confirme se algum KB de julho está presente e se o de agosto já foi aplicado.
  • Revise eventos de Aplicativo e PrintService procurando falhas relacionadas a LPDSVC e PrintIsolationHost.exe.
  • Se não puder atualizar, aplique KIR e reinicie; valide com lpr um arquivo pequeno (ex.: win.ini).
  • Habilite recuperação do serviço e/ou tarefa de manutenção temporária.
  • Bloqueie a redistribuição do cumulativo de julho nos grupos que expõem LPD até concluir a correção.
  • Se persistir, isole drivers/monitores de terceiros e colete dumps.

Perguntas frequentes

O problema atinge apenas servidores de impressão?
Não necessariamente. Qualquer host com o recurso LPD instalado e em uso pode ser afetado, inclusive alguns Windows 11 utilizados como ponte para equipamentos.

Depois de aplicar o cumulativo de agosto, posso remover o KIR?
Sim. Valide os fluxos e, em seguida, retorne as políticas do KIR para Não Configurado, removendo também tarefas ou scripts temporários.

O serviço ainda cai mesmo após agosto. E agora?
Verifique interações com drivers/monitores de terceiros. Atualize ou remova temporariamente para teste. Se o erro persistir, abra um chamado com a Microsoft anexando eventos e dumps.

É seguro manter somente a mitigação de “reiniciar o serviço”?
É um paliativo aceitável por período curto, mas não substitui a correção oficial, pois pode mascarar perda de jobs e aumentar a complexidade de suporte.

Resumo prático

As mudanças de segurança de julho associadas ao CVE‑2024‑38027 desestabilizaram o LPD. A correção oficial foi publicada no Patch Tuesday de agosto e normaliza a maioria dos ambientes. Até atualizar, use KIR por MSI, ajuste a recuperação do serviço e, apenas em último caso, remova o cumulativo problemático.

Roteiro de implementação recomendado

  1. Avalie impacto e planeje janela.
  2. Identifique rapidamente quem está vulnerável com os scripts de verificação.
  3. Atualize para o cumulativo de agosto e reinicie.
  4. Valide o fluxo LPD com testes reais de negócio.
  5. Remova mitigação temporária e normalize a configuração.
  6. Monitore por alguns dias e feche o incidente com lições aprendidas e plano de prevenção.

Apêndice de referência

ItemValorUso
ServiçoLPDSVCNome do serviço para sc.exe, GPO e monitoramento.
Ferramenta de testelprEnvio de job LPD de teste a partir de estação ou do próprio servidor.
Logs principaisAplicativo; Microsoft‑Windows‑PrintServiceInvestigação de travamentos, perdas de job e erros de spooler.
Pacotes que introduzem o problemaKB5040434, KB5040430, KB5040437Instalados nos cumulativos de julho.
Pacotes com correçãoKB5041773, KB5041578, KB5041160Patch Tuesday de agosto.

Conclusão

Para ambientes que dependem de LPD, a estratégia mais segura é direta: aplicar o cumulativo de agosto e validar. Caso haja bloqueios de janela ou dependências de aplicação, recorra ao KIR e às medidas de continuidade operacional aqui descritas. Evite soluções não suportadas para que sua equipe permaneça dentro das boas práticas de segurança e de suporte do fabricante.

Índice