LPD Service se detiene tras CVE‑2024‑38027: causas y soluciones definitivas en Windows Server

El servicio LPD de Windows, fundamental para la impresión basada en LPR en redes mixtas Unix‑Windows y flujos SAP, sufrió un fallo crítico tras los acumulativos del 9‑jul‑2024 (CVE‑2024‑38027). Esta guía desglosa causas, síntomas y remedios, desde acciones de emergencia hasta la actualización definitiva.

Índice

Antecedentes y contexto

LPD (Line Printer Daemon, servicio LPDSVC) permite a dispositivos o servidores *nix enviar trabajos de impresión a colas en Windows. El 9 de julio de 2024, los parches de seguridad mensuales destinados a resolver vulnerabilidades graves del núcleo de Windows introdujeron un cambio interno en la administración de búferes que, bajo determinadas condiciones de tráfico, provoca corrupción de memoria (heap) y finaliza el proceso svchost.exe que aloja LPD.

Sistemas y actualizaciones afectadas

  • Windows Server 2022 – CU KB5040437
  • Windows Server 2019 / Windows 10 1809 – CU KB5040430
  • Windows Server 2016 / Windows 10 1607 – CU KB5040434
  • Versiones equivalentes de Windows 11 y Windows 10 22H2 mediante el canal LTSC

El problema se manifiesta tras recibir el segundo trabajo de impresión o pasados unos minutos de inactividad con sesiones LPR persistentemente abiertas.

Síntomas observables

  • El servicio «Servicio de LPD» se detiene de forma inesperada; en Servicios aparece como Detenido.
  • Eventos 1000 y 7031 en el Visor de eventos (Application y System):
      – Origen Application Error, módulo ntdll.dll o SVCHOST.EXE_LPDSVC, excepción 0xc0000374
      – Origen Service Control Manager, identificador 7031, indicando que el servicio terminó de forma inesperada.
  • Clientes LPR reciben “connection reset” o “unable to send control file”.

Impacto empresarial

Organizaciones que dependen de impresión industrial (etiquetadoras, sistemas SAP, Canon UniFlow, sistemas hospitalarios HL7) experimentan interrupciones generalizadas. Al bloquearse la cola Windows, los trabajos se acumulan en servidores *nix, desencadenando reintentos y saturación de spool.

Análisis técnico de la causa raíz

El parche de julio añadió comprobaciones reforzadas al procesar paquetes de control y datos. Durante la segunda negociación LPR, una longitud de búfer calculada dinámicamente no coincide con el tamaño real del paquete, lo que genera una excepción de Heap Corruption. Microsoft asignó CVE‑2024‑38027 al use‑after‑free resultante. La corrección liberada el 13‑ago‑2024 ajusta la rutina de validación y restablece el manejo seguro de punteros.

Tabla comparativa de soluciones y mitigaciones

EstrategiaDescripciónVentajasDesventajas / Riesgos
Desinstalar el parche de julioQuitar el KB afectado y reiniciar.Restablece inmediatamente el servicio.Reexpone el sistema a vulnerabilidades. El parche puede reinstalarse automáticamente si no se bloquea en WSUS/Windows Update.
Sustituir LPDSVC.DLL por versión anteriorCopiar el DLL desde un servidor no parcheado (cambiar propietario «TrustedInstaller» → «Administrators» antes de reemplazar).Mantiene el resto de correcciones de julio.No está soportado; posible incompatibilidad futura.
Ajustar la recuperación del servicioConfigurar Reiniciar el servicio en Primer, Segundo y Subsiguientes errores con retardo de 1 min.Minimiza la parada (≈1 min).El proceso sigue fallando; ruido en logs y sobrecarga.
Aplicar KIR (Known Issue Rollback)Instalar el MSI de KIR, crear/editar la GPO y ponerla en Disabled para revertir solo los cambios de LPD.Reversión oficial sin desinstalar todo el CU.Requiere GPO y GPUpdate; algunos informes de fallo parcial.
Instalar los parches de agosto 2024KB5041160 (Server 2022), KB5041578 (Server 2019), KB5041773 (Server 2016).Solución definitiva y soportada.Necesita reactivar Windows Update o importar los nuevos CU; en ciertos Server 2019 persiste un reinicio aislado.

Línea temporal de la incidencia

  • 09‑jul‑2024 – Publicación de los CU problemáticos.
  • 10‑jul‑2024 – Primeros informes en foros de Microsoft Q&A y Reddit.
  • 12‑jul‑2024 – Microsoft confirma el error y trabaja en un KIR.
  • 15‑jul‑2024 – Lanzamiento del KIR como out‑of‑band.
  • 13‑ago‑2024 – Cumulative Updates de agosto corrigen CVE‑2024‑38027.
  • Sep‑Oct 2024 – Hotfix extendido para Server 2012 R2 bajo ESU.

Procedimientos paso a paso

Cómo desinstalar el CU de julio

  1. Abrir PowerShell con privilegios.
    Get-HotFix -Id KB5040430 | Remove-WindowsPackage -Online -PackageName KB5040430
  2. Reiniciar.
  3. En WSUS o Intune, marcar el KB como Rechazado para evitar la reinstalación automática.

Cómo aplicar el KIR

  1. Descargar el MSI de KIR correspondiente (página de catálogo).
  2. Instalar; comprobar que se copió la plantilla ADMX LPD‑KIR‑build.admx.
  3. En la GPMC, editar la nueva política “Known Issue Rollback – CVE‑2024‑38027” y establecerla en Disabled.
  4. Forzar gpupdate /force o reiniciar los servidores.

Instalación manual del parche de agosto

  1. Descargar el paquete MSU desde el Catálogo de actualizaciones.
  2. Ejecutar wusa.exe KB5041578.msu /quiet /norestart.
  3. Reiniciar en ventana de mantenimiento.
  4. Verificar con Get-HotFix -Id KB5041578 que la instalación sea correcta.

Buenas prácticas de mitigación provisional

  • Configurar la recuperación automática para que LPD reinicie y reduzca la ventana de corte.
  • Habilitar alertas en tu sistema de monitorización (Zabbix, Nagios, SCOM) cuando el servicio cambie a Stopped.
  • Implementar scripts de cola que redirijan temporalmente trabajos LPR a un servidor de contingencia Linux con CUPS.
  • Documentar cada cambio en tu CMDB indicando la desviación temporal y la fecha prevista de corrección definitiva.

Preguntas frecuentes (FAQ)

¿Se ve afectado IPP o Print Server tradicional?
No. Solo LPD/LPR se ve comprometido; los trabajos enviados mediante SMB (\\servidor\impresora) o IPP funcionan con normalidad.

¿Qué ocurre si uso Server 2012 R2 con ESU?
Microsoft publicó más tarde un hotfix ESU‑designed que corrige el error; solicita el KB a Soporte y aplícalo como parche fuera de banda.

¿Puedo rearmar el servicio mediante Recovery Manager?
Sí, pero es preferible el KIR o el parche oficial para detener la causa raíz y no solo el síntoma.

¿El fallo deja rastros en el dump de memoria?
Los volcados muestran HEAPCORRUPTIONINBLOCKHEADER en lpdsvc.dll!MemCopy. Basta para confirmar el bug si se eleva a Microsoft.

Recomendaciones estratégicas

  1. Parchear a agosto 2024 tan pronto como la ventana de mantenimiento lo permita; invalida CVE‑2024‑38027 y restaura la estabilidad.
  2. Si la actualización inmediata no es viable, aplicar el KIR o, en última instancia, desinstalar el CU de julio. Documentar el riesgo de exposición a vulnerabilidades.
  3. Monitorear el servicio LPD. Un reinicio sostenido cada 60 s puede afectar al rendimiento global de spoolsv.
  4. Probar siempre futuros parches en un entorno staging con cargas de impresión representativas antes de desplegar en producción.
  5. Actualizar las plantillas de hardening para incluir una tarea de verificación de LPD tras cada Patch Tuesday.

Conclusión

La interrupción de LPD causada por los acumulativos de julio 2024 (CVE‑2024‑38027) demuestra la importancia de validar parches en entornos críticos de impresión. Microsoft solventó oficialmente el problema el 13‑ago‑2024; sin embargo, la mejor práctica consiste en combinar la aplicación diligente de actualizaciones con planes de contingencia claros, monitorización proactiva y documentación exhaustiva. Siguiendo las pautas descritas, tu organización puede equilibrar continuidad operativa y seguridad sin sacrificar el flujo de impresión.

Índice