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.
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
entdll.dll
; em alguns ambientes, falhas emPrintIsolationHost.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:
Produto | Atualização cumulativa | Componente afetado |
---|---|---|
Windows Server 2016 | KB5040434 | LPD (LPDSVC ) |
Windows Server 2019 | KB5040430 | LPD (LPDSVC ) |
Windows Server 2022 | KB5040437 | LPD (LPDSVC ) |
Windows 11 (alguns cenários) | Cumulativo de julho correspondente | LPD 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:
Produto | Atualização cumulativa com correção | Observações de campo |
---|---|---|
Windows Server 2016 | KB5041773 | Restabelece a estabilidade do serviço na maioria dos casos. |
Windows Server 2019 | KB5041578 | Relatos isolados de falhas persistentes em PrintIsolationHost.exe em ambientes com drivers/monitores de terceiros. |
Windows Server 2022 | KB5041160 | Comportamento 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:
- 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.
- 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).
- 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
- Planeje a mudança: janela de manutenção, validação de impressão, contato com as equipes consumidoras do LPD (SAP, Unix, equipamentos).
- 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.
- Instale o cumulativo de agosto apropriado (veja a tabela) e reinicie.
- Valide o fluxo com um job de teste via LPR:
lpr -S <ipdoservidor> -P <fila_lpd> C:\Windows\win.ini
- 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.
- 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 emntdll.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
ePrintIsolationHost.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
- Avalie impacto e planeje janela.
- Identifique rapidamente quem está vulnerável com os scripts de verificação.
- Atualize para o cumulativo de agosto e reinicie.
- Valide o fluxo LPD com testes reais de negócio.
- Remova mitigação temporária e normalize a configuração.
- Monitore por alguns dias e feche o incidente com lições aprendidas e plano de prevenção.
Apêndice de referência
Item | Valor | Uso |
---|---|---|
Serviço | LPDSVC | Nome do serviço para sc.exe , GPO e monitoramento. |
Ferramenta de teste | lpr | Envio de job LPD de teste a partir de estação ou do próprio servidor. |
Logs principais | Aplicativo; Microsoft‑Windows‑PrintService | Investigação de travamentos, perdas de job e erros de spooler. |
Pacotes que introduzem o problema | KB5040434, KB5040430, KB5040437 | Instalados nos cumulativos de julho. |
Pacotes com correção | KB5041773, KB5041578, KB5041160 | Patch 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.