Vulnerabilidades en el sistema de impresión CUPS podrían permitir la ejecución de código arbitrario
Las vulnerabilidades afectan al sistema de impresión CUPS (Common UNIX Printing System) y a los componentes relacionados, que se utilizan habitualmente en los sistemas operativos basados en Linux y Unix. Componentes y versiones vulnerables:
- tazas navegadas (versión ≤ 2.0.1)
- libcupsfilters (versión ≤ 2.1b1)
- libppd (versiones ≤ 2.1b1)
- filtros-tazas (versión ≤ 2.0.1)
Las vulnerabilidades podrían conducir a la ejecución remota de código arbitrario bajo ciertas condiciones. La cadena de ataque explota varias vulnerabilidades en los componentes del sistema CUPS, como las bibliotecas libcupsfilters, libppd, cups-browsed y cups-filters.
La explotación exitosa requiere que el servicio de búsqueda de tazas esté habilitado en el sistema de destino, lo cual no está habilitado de forma predeterminada en la mayoría de los sistemas. Para que la explotación sea posible desde Internet, el puerto UDP 631 debe estar abierto a Internet. En la red local, un atacante puede falsificar anuncios zeroconf, mDNS, DNS-SD.
El atacante también debe crear una impresora PostScript Printer Description (PPD) maliciosa que se anuncie en el servicio de navegación de cups en el sistema de destino. El usuario del sistema de destino debe imprimir en la impresora maliciosa para que el comando malicioso se ejecute localmente.
Se han publicado códigos de muestra que ilustran la vulnerabilidad, pero aún no se ha detectado una explotación más amplia.
Las organizaciones pueden evitar la explotación de las vulnerabilidades deteniendo el servicio explorado por cups con los siguientes comandos sudo systemctl detener tazas navegadas y sudo systemctl deshabilitar cups-browsed.
El estado del servicio se puede comprobar con el comando sudo systemctl status cups-browsed.
Si el estado del servicio es «Activo: inactivo (muerto)», el sistema no es vulnerable. Si el resultado del comando muestra «en ejecución» o «habilitado» y el archivo de configuración (/etc/cups/cups-browsed.conf) «BrowseRemoteProtocols» contiene el valor «cups», el sistema es vulnerable.
Se recomienda a las organizaciones que instalen actualizaciones correctivas cuando estén disponibles.