Inmersión profunda: Navegando por la vulnerabilidad crítica CUPS en sistemas GNU-Linux
Los usuarios de Linux no lo han tenido fácil últimamente, con varias vulnerabilidades de alta gravedad que han afectado al sistema de diversas maneras en los últimos años. Los investigadores de seguridad tienen ahora otro grupo de vulnerabilidades que desentrañar, todas ellas relacionadas con la función Common UNIX Printing System (CUPS) dirigida a sistemas GNU/Linux con una vía potencial para una potente Ejecución Remota de Código (RCE).
El 27 de septiembre de 2024, Simone Margaritelli de evilsocket.net publicó información crítica sobre varias vulnerabilidades explotables en CUPS, con CVEs posteriormente asignados a cuatro de ellas. Este número podría aumentar, pero en el momento de escribir estas líneas, la comunidad de seguridad está debatiendo la gravedad real de estos descubrimientos. Mientras que uno de los CVEs, CVE-2024-47177, tiene una calificación actual de gravedad crítica de 9.1 de MITRE, la manipulación exitosa de este fallo de inyección de comandos depende de servidores con el servicio CUPS habilitado y, además, requiere acceso al puerto UDP 631 o DNS-SD. RedHat señala, sin embargo, que es posible reasignar CUPS a un puerto diferente.
El exhaustivo desglose del incidente realizado por Margaritelli revela una insidiosa y compleja cadena de ataques que, a pesar de los desacuerdos de la comunidad, no debe ignorarse. Nos ofrece una lección sobre dependencias aparentemente inocuas que pueden explotarse en profundidad si un actor de la amenaza está lo suficientemente decidido y si se han dejado pequeñas ventanas de oportunidad abiertas por patrones de codificación deficientes.
El escenario de CUPS es un poco diferente de lo que muchos desarrolladores y profesionales de AppSec pueden haber experimentado previamente, así que vamos a echar un vistazo y poner a prueba tus habilidades en el camino.
La vulnerabilidad: Ejecución remota de código (RCE) a través de CUPS
El blog Evilsocket proporciona una información inigualable y exhaustiva sobre estos exploits, y es un recurso que seguiremos de cerca. Margaritelli también cita una fuente anónima en su artículo, que no parece optimista sobre la solidez general de la seguridad de Linux:
"Desde un punto de vista de seguridad genérico, todo un sistema Linux tal y como es hoy en día no es más que un lío interminable y sin remedio de agujeros de seguridad esperando a ser explotados."
Se trata de un recordatorio aleccionador de los riesgos de seguridad inherentes que siguen prevaleciendo en los entornos de código abierto, por no mencionar la urgente necesidad de una mayor concienciación en materia de seguridad y de conocimientos de codificación segura entre la comunidad mundial de desarrolladores.
Echemos un vistazo a los CVE:
Lacadena de vulnerabilidades está muy extendida, y actualmente afecta a todas las versiones actuales y anteriores de los siguientes paquetes:
- distrotech/tazas-filtros
- OpenPrinting/tazas-filtros
- Cups-browsed
- libcupsfilters
- libppd
CUPS ha sido un componente heredado de los sistemas operativos UNIX y Linux durante más de dos décadas. Su función como dependencia de servicios de impresión hace que esté ansioso por realizar peticiones de red, lo que lo convierte en un objetivo principal para las vulnerabilidades de clase RCE.
En este caso, sin embargo, hay algo de ingenio en la forma en que los ataques se combinan para proporcionar un resultado exitoso. Se trata esencialmente de la capacidad de un atacante no autenticado y no detectado para sustituir las URL del Protocolo de Impresión por Internet (IPP) por otras maliciosas, además de modificar directivas que pueden provocar la inyección de comandos en el "archivo PPD (PostScript Printer Description)", que es un archivo utilizado para describir las características de la impresora recién añadida. Esto resulta en un ataque de ejecución de comandos una vez que se activa un trabajo de impresión, y se basa en una falta de validación de entrada dentro de los componentes de CUPS.
Además, solucionar esta vulnerabilidad en particular crea una especie de arma de doble filo, como señala Evilsocket. CUPS incluye el filtro foomatic-rip, un ejecutable con un historial previo como componente explotable de alto riesgo. Las CVE relacionadas con este componente se remontan a 2011, y aunque se ha establecido que foomatic-rip puede aprovecharse para ejecutar comandos del sistema operativo, solucionarlo causa problemas de estabilidad y pérdida de compatibilidad con muchas impresoras antiguas. Se trata de un problema complejo de superar.
- El actor de la amenaza inicia el ataque
- CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
- El sistema víctima procesa los atributos de la impresora
- CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
- El sistema víctima se conecta al servidor IPP del atacante-controlador
- CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
- Victim system initiates print job and attacker’s code is executed
CVE-2024-47177: cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).
¿Cómo mitigar el riesgo de RCE?
Las empresas que utilicen CUPS como parte de sus operaciones comerciales deben seguir los consejos de corrección recomendados por Evilsocket y RedHat. Esto incluye, pero no se limita a, la aplicación de parches de seguridad como una prioridad de nivel de emergencia.
Para la inyección de comandos en general, consulte nuestra guía completa.
Si está interesado en obtener más directrices de codificación gratuitas, consulte Secure Code Coach, que le ayudará a mantenerse al día de las mejores prácticas de codificación segura.
Descubra los últimos retos de seguridad a los que se enfrentan los usuarios de Linux mientras exploramos las recientes vulnerabilidades de alta gravedad en el Sistema de Impresión UNIX Común (CUPS). Aprenda cómo estos problemas pueden conducir a una potencial ejecución remota de código (RCE) y lo que puede hacer para proteger sus sistemas.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónLaura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.
Los usuarios de Linux no lo han tenido fácil últimamente, con varias vulnerabilidades de alta gravedad que han afectado al sistema de diversas maneras en los últimos años. Los investigadores de seguridad tienen ahora otro grupo de vulnerabilidades que desentrañar, todas ellas relacionadas con la función Common UNIX Printing System (CUPS) dirigida a sistemas GNU/Linux con una vía potencial para una potente Ejecución Remota de Código (RCE).
El 27 de septiembre de 2024, Simone Margaritelli de evilsocket.net publicó información crítica sobre varias vulnerabilidades explotables en CUPS, con CVEs posteriormente asignados a cuatro de ellas. Este número podría aumentar, pero en el momento de escribir estas líneas, la comunidad de seguridad está debatiendo la gravedad real de estos descubrimientos. Mientras que uno de los CVEs, CVE-2024-47177, tiene una calificación actual de gravedad crítica de 9.1 de MITRE, la manipulación exitosa de este fallo de inyección de comandos depende de servidores con el servicio CUPS habilitado y, además, requiere acceso al puerto UDP 631 o DNS-SD. RedHat señala, sin embargo, que es posible reasignar CUPS a un puerto diferente.
El exhaustivo desglose del incidente realizado por Margaritelli revela una insidiosa y compleja cadena de ataques que, a pesar de los desacuerdos de la comunidad, no debe ignorarse. Nos ofrece una lección sobre dependencias aparentemente inocuas que pueden explotarse en profundidad si un actor de la amenaza está lo suficientemente decidido y si se han dejado pequeñas ventanas de oportunidad abiertas por patrones de codificación deficientes.
El escenario de CUPS es un poco diferente de lo que muchos desarrolladores y profesionales de AppSec pueden haber experimentado previamente, así que vamos a echar un vistazo y poner a prueba tus habilidades en el camino.
La vulnerabilidad: Ejecución remota de código (RCE) a través de CUPS
El blog Evilsocket proporciona una información inigualable y exhaustiva sobre estos exploits, y es un recurso que seguiremos de cerca. Margaritelli también cita una fuente anónima en su artículo, que no parece optimista sobre la solidez general de la seguridad de Linux:
"Desde un punto de vista de seguridad genérico, todo un sistema Linux tal y como es hoy en día no es más que un lío interminable y sin remedio de agujeros de seguridad esperando a ser explotados."
Se trata de un recordatorio aleccionador de los riesgos de seguridad inherentes que siguen prevaleciendo en los entornos de código abierto, por no mencionar la urgente necesidad de una mayor concienciación en materia de seguridad y de conocimientos de codificación segura entre la comunidad mundial de desarrolladores.
Echemos un vistazo a los CVE:
Lacadena de vulnerabilidades está muy extendida, y actualmente afecta a todas las versiones actuales y anteriores de los siguientes paquetes:
- distrotech/tazas-filtros
- OpenPrinting/tazas-filtros
- Cups-browsed
- libcupsfilters
- libppd
CUPS ha sido un componente heredado de los sistemas operativos UNIX y Linux durante más de dos décadas. Su función como dependencia de servicios de impresión hace que esté ansioso por realizar peticiones de red, lo que lo convierte en un objetivo principal para las vulnerabilidades de clase RCE.
En este caso, sin embargo, hay algo de ingenio en la forma en que los ataques se combinan para proporcionar un resultado exitoso. Se trata esencialmente de la capacidad de un atacante no autenticado y no detectado para sustituir las URL del Protocolo de Impresión por Internet (IPP) por otras maliciosas, además de modificar directivas que pueden provocar la inyección de comandos en el "archivo PPD (PostScript Printer Description)", que es un archivo utilizado para describir las características de la impresora recién añadida. Esto resulta en un ataque de ejecución de comandos una vez que se activa un trabajo de impresión, y se basa en una falta de validación de entrada dentro de los componentes de CUPS.
Además, solucionar esta vulnerabilidad en particular crea una especie de arma de doble filo, como señala Evilsocket. CUPS incluye el filtro foomatic-rip, un ejecutable con un historial previo como componente explotable de alto riesgo. Las CVE relacionadas con este componente se remontan a 2011, y aunque se ha establecido que foomatic-rip puede aprovecharse para ejecutar comandos del sistema operativo, solucionarlo causa problemas de estabilidad y pérdida de compatibilidad con muchas impresoras antiguas. Se trata de un problema complejo de superar.
- El actor de la amenaza inicia el ataque
- CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
- El sistema víctima procesa los atributos de la impresora
- CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
- El sistema víctima se conecta al servidor IPP del atacante-controlador
- CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
- Victim system initiates print job and attacker’s code is executed
CVE-2024-47177: cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).
¿Cómo mitigar el riesgo de RCE?
Las empresas que utilicen CUPS como parte de sus operaciones comerciales deben seguir los consejos de corrección recomendados por Evilsocket y RedHat. Esto incluye, pero no se limita a, la aplicación de parches de seguridad como una prioridad de nivel de emergencia.
Para la inyección de comandos en general, consulte nuestra guía completa.
Si está interesado en obtener más directrices de codificación gratuitas, consulte Secure Code Coach, que le ayudará a mantenerse al día de las mejores prácticas de codificación segura.
Los usuarios de Linux no lo han tenido fácil últimamente, con varias vulnerabilidades de alta gravedad que han afectado al sistema de diversas maneras en los últimos años. Los investigadores de seguridad tienen ahora otro grupo de vulnerabilidades que desentrañar, todas ellas relacionadas con la función Common UNIX Printing System (CUPS) dirigida a sistemas GNU/Linux con una vía potencial para una potente Ejecución Remota de Código (RCE).
El 27 de septiembre de 2024, Simone Margaritelli de evilsocket.net publicó información crítica sobre varias vulnerabilidades explotables en CUPS, con CVEs posteriormente asignados a cuatro de ellas. Este número podría aumentar, pero en el momento de escribir estas líneas, la comunidad de seguridad está debatiendo la gravedad real de estos descubrimientos. Mientras que uno de los CVEs, CVE-2024-47177, tiene una calificación actual de gravedad crítica de 9.1 de MITRE, la manipulación exitosa de este fallo de inyección de comandos depende de servidores con el servicio CUPS habilitado y, además, requiere acceso al puerto UDP 631 o DNS-SD. RedHat señala, sin embargo, que es posible reasignar CUPS a un puerto diferente.
El exhaustivo desglose del incidente realizado por Margaritelli revela una insidiosa y compleja cadena de ataques que, a pesar de los desacuerdos de la comunidad, no debe ignorarse. Nos ofrece una lección sobre dependencias aparentemente inocuas que pueden explotarse en profundidad si un actor de la amenaza está lo suficientemente decidido y si se han dejado pequeñas ventanas de oportunidad abiertas por patrones de codificación deficientes.
El escenario de CUPS es un poco diferente de lo que muchos desarrolladores y profesionales de AppSec pueden haber experimentado previamente, así que vamos a echar un vistazo y poner a prueba tus habilidades en el camino.
La vulnerabilidad: Ejecución remota de código (RCE) a través de CUPS
El blog Evilsocket proporciona una información inigualable y exhaustiva sobre estos exploits, y es un recurso que seguiremos de cerca. Margaritelli también cita una fuente anónima en su artículo, que no parece optimista sobre la solidez general de la seguridad de Linux:
"Desde un punto de vista de seguridad genérico, todo un sistema Linux tal y como es hoy en día no es más que un lío interminable y sin remedio de agujeros de seguridad esperando a ser explotados."
Se trata de un recordatorio aleccionador de los riesgos de seguridad inherentes que siguen prevaleciendo en los entornos de código abierto, por no mencionar la urgente necesidad de una mayor concienciación en materia de seguridad y de conocimientos de codificación segura entre la comunidad mundial de desarrolladores.
Echemos un vistazo a los CVE:
Lacadena de vulnerabilidades está muy extendida, y actualmente afecta a todas las versiones actuales y anteriores de los siguientes paquetes:
- distrotech/tazas-filtros
- OpenPrinting/tazas-filtros
- Cups-browsed
- libcupsfilters
- libppd
CUPS ha sido un componente heredado de los sistemas operativos UNIX y Linux durante más de dos décadas. Su función como dependencia de servicios de impresión hace que esté ansioso por realizar peticiones de red, lo que lo convierte en un objetivo principal para las vulnerabilidades de clase RCE.
En este caso, sin embargo, hay algo de ingenio en la forma en que los ataques se combinan para proporcionar un resultado exitoso. Se trata esencialmente de la capacidad de un atacante no autenticado y no detectado para sustituir las URL del Protocolo de Impresión por Internet (IPP) por otras maliciosas, además de modificar directivas que pueden provocar la inyección de comandos en el "archivo PPD (PostScript Printer Description)", que es un archivo utilizado para describir las características de la impresora recién añadida. Esto resulta en un ataque de ejecución de comandos una vez que se activa un trabajo de impresión, y se basa en una falta de validación de entrada dentro de los componentes de CUPS.
Además, solucionar esta vulnerabilidad en particular crea una especie de arma de doble filo, como señala Evilsocket. CUPS incluye el filtro foomatic-rip, un ejecutable con un historial previo como componente explotable de alto riesgo. Las CVE relacionadas con este componente se remontan a 2011, y aunque se ha establecido que foomatic-rip puede aprovecharse para ejecutar comandos del sistema operativo, solucionarlo causa problemas de estabilidad y pérdida de compatibilidad con muchas impresoras antiguas. Se trata de un problema complejo de superar.
- El actor de la amenaza inicia el ataque
- CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
- El sistema víctima procesa los atributos de la impresora
- CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
- El sistema víctima se conecta al servidor IPP del atacante-controlador
- CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
- Victim system initiates print job and attacker’s code is executed
CVE-2024-47177: cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).
¿Cómo mitigar el riesgo de RCE?
Las empresas que utilicen CUPS como parte de sus operaciones comerciales deben seguir los consejos de corrección recomendados por Evilsocket y RedHat. Esto incluye, pero no se limita a, la aplicación de parches de seguridad como una prioridad de nivel de emergencia.
Para la inyección de comandos en general, consulte nuestra guía completa.
Si está interesado en obtener más directrices de codificación gratuitas, consulte Secure Code Coach, que le ayudará a mantenerse al día de las mejores prácticas de codificación segura.
Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónLaura Verheyde es una desarrolladora de software en Secure Code Warrior centrada en la investigación de vulnerabilidades y la creación de contenidos para Missions y Coding labs.
Los usuarios de Linux no lo han tenido fácil últimamente, con varias vulnerabilidades de alta gravedad que han afectado al sistema de diversas maneras en los últimos años. Los investigadores de seguridad tienen ahora otro grupo de vulnerabilidades que desentrañar, todas ellas relacionadas con la función Common UNIX Printing System (CUPS) dirigida a sistemas GNU/Linux con una vía potencial para una potente Ejecución Remota de Código (RCE).
El 27 de septiembre de 2024, Simone Margaritelli de evilsocket.net publicó información crítica sobre varias vulnerabilidades explotables en CUPS, con CVEs posteriormente asignados a cuatro de ellas. Este número podría aumentar, pero en el momento de escribir estas líneas, la comunidad de seguridad está debatiendo la gravedad real de estos descubrimientos. Mientras que uno de los CVEs, CVE-2024-47177, tiene una calificación actual de gravedad crítica de 9.1 de MITRE, la manipulación exitosa de este fallo de inyección de comandos depende de servidores con el servicio CUPS habilitado y, además, requiere acceso al puerto UDP 631 o DNS-SD. RedHat señala, sin embargo, que es posible reasignar CUPS a un puerto diferente.
El exhaustivo desglose del incidente realizado por Margaritelli revela una insidiosa y compleja cadena de ataques que, a pesar de los desacuerdos de la comunidad, no debe ignorarse. Nos ofrece una lección sobre dependencias aparentemente inocuas que pueden explotarse en profundidad si un actor de la amenaza está lo suficientemente decidido y si se han dejado pequeñas ventanas de oportunidad abiertas por patrones de codificación deficientes.
El escenario de CUPS es un poco diferente de lo que muchos desarrolladores y profesionales de AppSec pueden haber experimentado previamente, así que vamos a echar un vistazo y poner a prueba tus habilidades en el camino.
La vulnerabilidad: Ejecución remota de código (RCE) a través de CUPS
El blog Evilsocket proporciona una información inigualable y exhaustiva sobre estos exploits, y es un recurso que seguiremos de cerca. Margaritelli también cita una fuente anónima en su artículo, que no parece optimista sobre la solidez general de la seguridad de Linux:
"Desde un punto de vista de seguridad genérico, todo un sistema Linux tal y como es hoy en día no es más que un lío interminable y sin remedio de agujeros de seguridad esperando a ser explotados."
Se trata de un recordatorio aleccionador de los riesgos de seguridad inherentes que siguen prevaleciendo en los entornos de código abierto, por no mencionar la urgente necesidad de una mayor concienciación en materia de seguridad y de conocimientos de codificación segura entre la comunidad mundial de desarrolladores.
Echemos un vistazo a los CVE:
Lacadena de vulnerabilidades está muy extendida, y actualmente afecta a todas las versiones actuales y anteriores de los siguientes paquetes:
- distrotech/tazas-filtros
- OpenPrinting/tazas-filtros
- Cups-browsed
- libcupsfilters
- libppd
CUPS ha sido un componente heredado de los sistemas operativos UNIX y Linux durante más de dos décadas. Su función como dependencia de servicios de impresión hace que esté ansioso por realizar peticiones de red, lo que lo convierte en un objetivo principal para las vulnerabilidades de clase RCE.
En este caso, sin embargo, hay algo de ingenio en la forma en que los ataques se combinan para proporcionar un resultado exitoso. Se trata esencialmente de la capacidad de un atacante no autenticado y no detectado para sustituir las URL del Protocolo de Impresión por Internet (IPP) por otras maliciosas, además de modificar directivas que pueden provocar la inyección de comandos en el "archivo PPD (PostScript Printer Description)", que es un archivo utilizado para describir las características de la impresora recién añadida. Esto resulta en un ataque de ejecución de comandos una vez que se activa un trabajo de impresión, y se basa en una falta de validación de entrada dentro de los componentes de CUPS.
Además, solucionar esta vulnerabilidad en particular crea una especie de arma de doble filo, como señala Evilsocket. CUPS incluye el filtro foomatic-rip, un ejecutable con un historial previo como componente explotable de alto riesgo. Las CVE relacionadas con este componente se remontan a 2011, y aunque se ha establecido que foomatic-rip puede aprovecharse para ejecutar comandos del sistema operativo, solucionarlo causa problemas de estabilidad y pérdida de compatibilidad con muchas impresoras antiguas. Se trata de un problema complejo de superar.
- El actor de la amenaza inicia el ataque
- CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
- El sistema víctima procesa los atributos de la impresora
- CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
- El sistema víctima se conecta al servidor IPP del atacante-controlador
- CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
- Victim system initiates print job and attacker’s code is executed
CVE-2024-47177: cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).
¿Cómo mitigar el riesgo de RCE?
Las empresas que utilicen CUPS como parte de sus operaciones comerciales deben seguir los consejos de corrección recomendados por Evilsocket y RedHat. Esto incluye, pero no se limita a, la aplicación de parches de seguridad como una prioridad de nivel de emergencia.
Para la inyección de comandos en general, consulte nuestra guía completa.
Si está interesado en obtener más directrices de codificación gratuitas, consulte Secure Code Coach, que le ayudará a mantenerse al día de las mejores prácticas de codificación segura.
Índice
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Evaluación comparativa de las competencias en materia de seguridad: optimización del diseño seguro en la empresa
El movimiento Secure-by-Design es el futuro del desarrollo de software seguro. Conozca los elementos clave que las empresas deben tener en cuenta cuando piensan en una iniciativa Secure-by-Design.
DigitalOcean reduce su deuda de seguridad con Secure Code Warrior
El uso por parte de DigitalOcean de la formación Secure Code Warrior ha reducido significativamente la deuda de seguridad, permitiendo a los equipos centrarse más en la innovación y la productividad. La mejora de la seguridad ha reforzado la calidad de sus productos y su ventaja competitiva. De cara al futuro, SCW Trust Score les ayudará a seguir mejorando las prácticas de seguridad y a continuar impulsando la innovación.
Recursos para empezar
La puntuación de confianza revela el valor de las iniciativas de mejora de la seguridad mediante el diseño
Nuestra investigación ha demostrado que la formación en código seguro funciona. Trust Score, que utiliza un algoritmo basado en más de 20 millones de puntos de datos de aprendizaje procedentes del trabajo de más de 250 000 alumnos en más de 600 organizaciones, revela su eficacia a la hora de reducir las vulnerabilidades y cómo hacer que la iniciativa sea aún más eficaz.
Seguridad reactiva frente a seguridad preventiva: Prevenir es mejor que curar
La idea de introducir la seguridad preventiva en el código y los sistemas heredados al mismo tiempo que en las aplicaciones más recientes puede parecer desalentadora, pero un planteamiento basado en el diseño seguro, aplicado mediante la mejora de las competencias de los desarrolladores, puede aplicar las mejores prácticas de seguridad a esos sistemas. Es la mejor oportunidad que tienen muchas organizaciones de mejorar su seguridad.
Ventajas de la evaluación comparativa de las competencias de seguridad de los desarrolladores
La creciente atención que se presta al código seguro y a los principios del diseño seguro exige que los desarrolladores reciban formación en ciberseguridad desde el principio del proceso de desarrollo de software, con herramientas como Secure Code Warrior's Trust Score, que ayudan a medir y mejorar sus progresos.
Impulsando iniciativas de seguridad por diseño para empresas con éxito significativo
Nuestro último documento de investigación, Benchmarking Security Skills: Streamlining Secure-by-Design in the Enterprise, es el resultado de un análisis profundo de iniciativas reales de Secure-by-Design a nivel empresarial y de la derivación de enfoques de mejores prácticas basados en hallazgos basados en datos.