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.
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ódulontdll.dll
oSVCHOST.EXE_LPDSVC
, excepción0xc0000374
– 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
Estrategia | Descripción | Ventajas | Desventajas / Riesgos |
---|---|---|---|
Desinstalar el parche de julio | Quitar 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 anterior | Copiar 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 servicio | Configurar 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 2024 | KB5041160 (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
- Abrir PowerShell con privilegios.
Get-HotFix -Id KB5040430 | Remove-WindowsPackage -Online -PackageName KB5040430
- Reiniciar.
- En WSUS o Intune, marcar el KB como Rechazado para evitar la reinstalación automática.
Cómo aplicar el KIR
- Descargar el MSI de KIR correspondiente (página de catálogo).
- Instalar; comprobar que se copió la plantilla ADMX LPD‑KIR‑build.admx.
- En la GPMC, editar la nueva política “Known Issue Rollback – CVE‑2024‑38027” y establecerla en Disabled.
- Forzar
gpupdate /force
o reiniciar los servidores.
Instalación manual del parche de agosto
- Descargar el paquete MSU desde el Catálogo de actualizaciones.
- Ejecutar
wusa.exe KB5041578.msu /quiet /norestart
. - Reiniciar en ventana de mantenimiento.
- 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
- Parchear a agosto 2024 tan pronto como la ventana de mantenimiento lo permita; invalida CVE‑2024‑38027 y restaura la estabilidad.
- 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.
- Monitorear el servicio LPD. Un reinicio sostenido cada 60 s puede afectar al rendimiento global de spoolsv.
- Probar siempre futuros parches en un entorno staging con cargas de impresión representativas antes de desplegar en producción.
- 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.