Múltiples vulnerabilidades en sistemas operativos Unix
Los hallazgos identificados como CVE-2024-47176 (CVSS:3.1=8.6), CVE-2024-47076 (CVSS:3.1=8.4), CVE-2024-47175 (CVSS:3.1=8.6) y CVE-2024-47177 (CVSS:3.1=9.0), que afectan a gran parte de los sistemas operativos Linux incluyendo Red Hat y Ubuntu, permiten a quien ataca ejecutar código arbitrario de forma remota (RCE) a través del paquete especialmente creado sin estar autenticado.
Detalles técnicos
El servicio genérico de impresión de Unix “CUPS” disponible para la gran mayoría de sistemas operativos basados en Unix, es un conjunto de paquetes que permite a los usuarios utilizar impresoras de forma relativamente sencilla. El uso de la herramienta es un estándar a nivel mundial debido a la gran compatibilidad que tiene con los distintos fabricantes de equipos de impresión.
La vulnerabilidad radica principalmente en el demonio “cups-browsed” existente en el servicio “CUPS” y en como los sistemas operativos Linux exponen, controlan y procesan el flujo de datos que se envía a través de la herramienta. Por defecto la herramienta escucha en el puerto 631 UDP y no se limita que origen puede tener acceso al puerto previamente referenciado, inicialmente el mismo es accesible desde cualquier origen que pueda alcanzar el equipo. Adicionalmente, “CUPS” realiza una búsqueda en la red local para identificar impresoras y realizar una configuración desatendida. Un atacante puede enviar un paquete de tipo “PPD” (PostScript Printer Description) para imitar un registro de nueva impresora al puerto 631 UDP el cual será automáticamente procesado. Dentro de este paquete es posible definir un atributo el cual, a raíz de la ausencia de sanitización, es interpretado por el sistema operativo y ejecutado fuera del contexto del servicio.
Productos afectados
cups-browsed (versiones anteriores a 2.0.1 inclusive).
libcupsfilters (versiones anteriores a 2.1b1 inclusive).
libppd (versiones anteriores a 2.1b1 inclusive).
cups-filters (versiones anteriores a 2.0.1 inclusive).
Remediación
Para explotar la ejecución remota de código es necesario hacer uso de varias de las vulnerabilidades listadas previamente, por lo que es posible cortar con el flujo inicial del ataque desinstalando el paquete “cups-browsed” del sistema operativo.
Sistemas basados en Red Hat: yum remove cups-browsed
Sistemas basados en Debian: apt remove cups-browsed
O en su defecto deshabilitando el servicio.
Sistemas basados en Red Hat o Debian: systemctl stop cups-browsed
Para otras distribuciones por favor dirigirse a la documentación del fabricante.
Mitigación
Algunos fabricantes ya han liberado parches de seguridad para mitigar las vulnerabilidades relacionadas.
Cabe destacar que las buenas prácticas de seguridad recomiendan deshabilitar cualquier servicio no necesario.
Recomendaciones
Instamos a los administradores de sistemas a realizar estas actualizaciones de manera prioritaria para mitigar el riesgo de incidentes de seguridad.