Vulnerabilidad en servicio CUPS de Linux


Se ha encontrado una nueva vulnerabilidad que afecta a los sistemas operativos Linux; dicha vulnerabilidad es, en realidad, un conjunto de ellas, más específicamente las siguientes:

  • CVE-2024-47176: En cups-browsed 2.0.1 o menor, la vulnerabilidad se origina debido a que se confía en cualquier paquete, lo que puede desencadenar una solicitud IPP a una URL controlada por un atacante. [3]
  • CVE-2024-4706: libcupsfilter 2.1b1 o menor no valida los atributos IPP ni los desinfecta cuando son devueltos por un servidor IPP, lo que permite que se proporcionen datos procedentes de un atacante al resto de CUPS. [3]
  • CVE-2024-47175: libppd 2.1b1 no valida ni desinfecta los atributos IPP cuando se escriben en un archivo PPD temporal, lo que permite la inyección de datos procedentes de un atacante. [3]
  • CVE-2024-47177: cups-filters 2.0.1 o menor permite la ejecución de comandos arbitrarios a través del parámetro PPD. [3]
Como se puede observar, todas las vulnerabilidades permiten que se utilice el sistema de impresión modular CUPS para la ejecución de código, debido a la falta de verificación o desinfección en las librerías, lo que posibilita que un atacante envíe paquetes maliciosos. [3]

La explotación es posible tanto desde internet como de manera local. Según el motor de búsqueda SHODAN, existen 75,000 instancias de CUPS expuestas a internet. [2]

Estas vulnerabilidades han generado mucho debate, ya que CUPS es el sistema de impresión más ampliamente usado por las distintas distribuciones de Linux. Originalmente, se había clasificado con un puntaje de 9.9 y carácter crítico; sin embargo, tras una reevaluación, la criticidad se redujo a alta debido a que las condiciones para explotar estas vulnerabilidades son muy específicas. [1][2]

La manera en que se pueden explotar estas vulnerabilidades es la siguiente: [1][2]
  • El servicio cups-browsed debe estar activado para exponer el puerto UDP a internet.
  • El atacante debe registrar una impresora en el dispositivo para que aparezca automáticamente.
  • El usuario debe imprimir mediante la impresora del atacante.
El hecho de que el servicio cups-browsed deba estar activado es una de las razones por las cuales se redujo el puntaje de estas vulnerabilidades, ya que generalmente este servicio está desactivado por defecto en la mayoría de los dispositivos con sistemas operativos Linux. Además, el atacante tendría que suplantar una impresora, lo cual, aunque es posible, resulta inusual para el usuario ver dos impresoras iguales. [1]


Imagen de una impresora suplantada [3] 

Existe una prueba de concepto (PoC) publicada por la persona que descubrió la vulnerabilidad y explica detalladamente el proceso por el cual descubrió las vulnerabilidades, así como también como lleva a cabo la explotación. [3] 

Comandos que se ejecutan por medio de foomatic-rip filter una vez que la “impresora” ha sido agregada al dispositivo. [3] 

Versiones Afectadas

  • CVE-2024-47176: En cups-browsed 2.0.1 o menor
  • CVE-2024-4706: libcupsfilter 2.1b1 o menor
  • CVE-2024-47175: libppd 2.1b1
  • CVE-2024-47177: cups-filters 2.0.1 o menor

Recomendaciones

  • Si se cuenta con el servicio de cups-browsed activado, desactivarlo en caso de no ocuparse, de esta forma no se puede llevar a cabo la explotación. Los comandos para desactivar este servicio son: 
    Sudo systemctl stop cups-browsed 

Sudo systemctl disable cups-browsed 

 

Para verificar si el servicio se está ejecutando o no se puede usar el comando sudo systemctl status cups-browsed 

  • Establecer controles de acceso SSH basados en la red para minimizar el riesgo de ataque 

  • Auditar herramientas de acceso remoto. (NIST CSF, 2024) 

  • Revisar logs para de ejecución de software de acceso remoto. (NIST CSF, 2024) 

  • Limitar estrictamente el uso de los protocolos SMB y RDP. 

  • Realizar auditorías de seguridad. (NIST CSF, 2024) 

  • Deshabilitar los servicios y procesos no requeridos para reducir los vectores de ataque. (NIST CSF, 2024)  

  • Tener filtros de correo electrónico y spam. 

  • Concientizar a los empleados sobre los métodos de Phishing e Ingeniería social. 

  • Realizar copias de seguridad, respaldos o back-ups constantemente. 

  • Mantener los respaldos desconectados de la red de la organización, verificando constantemente la confidencialidad, integridad y disponibilidad de estos. 

  • Revisar continuamente los privilegios de los usuarios. 

  • Tener una solución EDR robusta configurada adecuadamente basada en las mejores prácticas (de acuerdo con documentación de fabricante). 

  • Habilitar la autenticación multifactor. 

Referencias

  1. Gatlan, S. (2024, septiembre 26) CUPS flaws enable Linux remote code execution, but there’s a catch. Recuperado el 30 de septiembre del 2024 en: https://www.bleepingcomputer.com/news/security/cups-flaws-enable-linux-remote-code-execution-but-theres-a-catch/ 

  2. Kovacs, E. (2024, septiembre 27) Highly Anticipated Linux Flaw Allows Remote Code Execution, but Less Serious Than Expected. Recuperado el 30 de septiembre del 2024 en: https://www.securityweek.com/highly-anticipated-linux-flaw-allows-remote-code-execution-but-less-serious-than-expected/ 

  3. S.N (2024, septiembre 26) Attacking UNIX Systems via CUPS, Part I. Recuperado el 30 de septiembre del 2024 en: https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/ 

El nombre es requerido.
El email es requerido.
El email no es válido.
El comentario es requerido.
El captcha es requerido.



Comentarios