Fondo
Cuatro vulnerabilidades en el Common Unix Printing System (CUPS), una utilidad de impresión común en muchas distribuciones de Linux, han estado causando sensación en Internet durante la semana pasada, sobre todo debido a su inusual proceso de divulgación y al desacuerdo sobre su gravedad y detalles técnicos en las redes sociales.
Una de estas vulnerabilidades en particular, CVE-2024-47176, llamó mucho la atención debido a su calificación de gravedad no oficial de 9,9 y su descripción como un "RCE no autenticado que afecta a todos los sistemas GNU/Linux" en un post en X del investigador de seguridad Simone Margaritelli (@evilsocket) el 23 de septiembre. En el período previo a su divulgación, comenzó a ser comparado con Heartbleed y Log4Shell en cuanto a su alcance potencial y gravedad para Internet.
Sin embargo, tras la publicación de más detalles técnicos a lo largo de la semana siguiente, quedó claro que el riesgo real es menor de lo que se pensaba en un principio. Sin embargo, sigue teniendo consecuencias importantes si se explota.
Informamos inicialmente sobre nuestra perspectiva en nuestro aviso de Respuesta Rápida del pasado viernes. A continuación, desglosamos los detalles clave de esta vulnerabilidad y lo que debe saber y esperar.
¿Cuál es el riesgo real?
En términos simplificados, CVE-2024-47176 permite a los atacantes explotar el servicio de impresión CUPS mediante el envío de un paquete especialmente diseñado y no autenticado a su puerto UDP. Esto puede engañar al servicio para que se conecte a una impresora maliciosa. Si la víctima intenta imprimir algo en esa impresora, el atacante puede lograr la ejecución remota de código (RCE) en el sistema de destino.
Es importante señalar que esto no se considera actualmente un ataque sin clic, ya que la explotación exitosa parece requerir la interacción del usuario en la mayoría de los casos, específicamente, la activación del trabajo de impresión. El investigador que descubrió esta vulnerabilidad ha insinuado en las redes sociales que la explotación podría ser posible sin la interacción del usuario, dependiendo del dispositivo de destino. Aunque se dispone de una prueba de concepto, hay poca información sobre si se está explotando activamente o qué aspecto tienen esos intentos de explotación.
No obstante, esta vulnerabilidad es preocupante porque, si se explota, podría tener graves consecuencias, como el compromiso total del sistema y el movimiento lateral dentro de una red. Además, dado que CUPS se utiliza ampliamente en dispositivos integrados y software de terceros, es posible que esta vulnerabilidad se aproveche como parte de una cadena en futuros ataques dirigidos al mismo problema subyacente.
Medir el alcance de los sistemas vulnerables
Hay dos grupos principales de hosts que tienen más probabilidades de ser objetivo de CVE-2024-47176:
- Remote Targets: These are hosts that expose a vulnerable CUPS version (<= 2.0.1) to the public internet while running the affected cups-browsed service. This configuration puts them at risk from remote attackers.
- Objetivos locales: Si un atacante tiene acceso a la red local y el servicio CUPS está configurado con mDNS, puede explotar el servicio a través de mDNS. Sin embargo, esta configuración plantea problemas de seguridad adicionales que van más allá de esta vulnerabilidad.
Ha habido notables diferencias en los recuentos de servidores afectados comunicados por diversas fuentes, lo que ha dado lugar a cierta confusión. Esto se debe principalmente a que las distintas fuentes tienen metodologías de medición diferentes.
Censysal igual que otros escáneres de Internet, busca servicios CUPS expuestos a través de TCP.
Vemos 99.710 hosts que exponen servicios IPP en línea (filtrando posibles honeypots).
De ellos, 60.831 hosts indican que están ejecutando CUPS.
De ellos, 7.171 muestran indicios de ejecutar una versión de CUPS afectada por esta CVE.
Estos números han mostrado indicios de ser una subestimación del verdadero número de hosts vulnerables, porque, curiosamente, más servicios CUPS parecen ser accesibles a través de UDP que de TCP.
Algunos investigadores independientes están buscando directamente esta vulnerabilidad instalando un servidor de devolución de llamada para imitar una impresora falsa y enviando paquetes UDP manipulados para ver qué servidores se conectan a esa impresora falsa. Por lo general, esta es la forma más precisa de confirmar si un servidor es vulnerable o no en este momento.
Aunque hacer lo anterior no es técnicamente un exploit, la metodología está definitivamente fuera del alcance para lo que se construyó Censys : escanear Internet con una interacción mínima. Censys se centra en recopilar y analizar datos de una manera que prioriza la transparencia en sus hallazgos.
¿Qué medidas de mitigación deben tomar los usuarios?
En el momento de escribir estas líneas, tanto Ubuntu como Red Hat han desarrollado parches para esta vulnerabilidad, aunque se trata principalmente de soluciones provisionales.
En ausencia de un parche completo, la solución más sencilla es desactivar el servicio cups-browsed mediante los siguientes comandos:
systemctl detener cups-browsed
systemctl disable cups-browsed
Si la desactivación no es una opción, bloquear todo el tráfico al puerto UDP 631 puede ayudar a mitigar los riesgos, aunque esto no protegerá contra los ataques de red de área local a través de mDNS.
Por lo general, los servidores de impresión no necesitan estar conectados a la Internet pública.