SCW图标
英雄背景无分隔线
博客

Análisis profundo: Cómo explorar la vulnerabilidad crítica de CUPS en los sistemas GNU-Linux

Laura Verheyde
发布于 2024 年 10 月 07 日
最后更新于 2026年3月6日

Los usuarios de Linux no lo han pasado bien últimamente, ya que, según se informa, varias vulnerabilidades de alta gravedad 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 del sistema común de impresión UNIX (CUPS) dirigida a los sistemas GNU/Linux y que podría permitir una potente ejecución remota de código (RCE).

El 27 de septiembre de 2024, Simone Margaritelli de evilsocket.net información crítica publicada sobre varias vulnerabilidades explotables en CUPS, y las CVE se asignaron posteriormente a cuatro de ellas. Esta cifra podría aumentar, pero en el momento de redactar este informe, la comunidad de seguridad está debatiendo la gravedad real de estos descubrimientos. Si bien es uno de los CVE, CVE-2024-47177, tiene una clasificación de gravedad crítica actual de 9,1 según MITRE. La manipulación correcta de esta falla de inyección de comandos depende de los servidores que tengan el servicio CUPS habilitado y, además, requiere acceso al puerto UDP 631 o DNS-SD. Sombrero rojo señala, sin embargo, que es posible reasignar CUPS a un puerto diferente.

El análisis exhaustivo de Margaritelli sobre el incidente revela una cadena de ataques insidiosa y compleja que, a pesar de los desacuerdos de la comunidad, no debe ignorarse. Nos da una lección sobre las dependencias aparentemente inocuas que pueden explotarse en gran medida si el actor de una amenaza tiene la determinación suficiente y si los patrones de codificación deficientes han dejado abiertas pequeñas oportunidades.

El escenario de CUPS es un poco diferente al que muchos desarrolladores y profesionales de AppSec pueden haber experimentado anteriormente, así que echemos un vistazo y probemos sus habilidades a lo largo del camino.

La vulnerabilidad: ejecución remota de código (RCE) mediante CUPS

El El blog de Evilsocket proporciona una base exhaustiva e inigualable sobre estas vulnerabilidades, y este es un recurso que seguiremos de cerca. Margaritelli también cita en su artículo a una fuente anónima, que no parece optimista en cuanto a la solidez general de seguridad de Linux:



»Desde un punto de vista de seguridad genérico, todo un sistema Linux tal como es hoy en día no es más que un lío interminable y desesperado de agujeros de seguridad que esperan ser explotados.»

Este es un recordatorio aleccionador de los riesgos de seguridad inherentes que siguen prevaleciendo en los entornos de código abierto, sin mencionar la imperiosa necesidad de aumentar la conciencia de seguridad y las habilidades de codificación seguras entre la comunidad de desarrollo global.

Echemos un vistazo a los CVEs:

La cadena de vulnerabilidades está muy extendida y actualmente afecta a todas las versiones actuales y anteriores de los siguientes paquetes:

  • filtros distrotech/cups-
  • Impresión abierta/filtros de tazas
  • Tazas exploradas
  • filtros libcups
  • 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 los servicios de impresión hace que esté ansioso por atender solicitudes de red, lo que lo convierte en el objetivo principal de 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. Básicamente, se trata de la capacidad de un atacante no autenticado ni detectado de reemplazar las URL del Protocolo de impresión de Internet (IPP) por otras malintencionadas, además de modificar las directivas que pueden provocar la inserción de comandos en el archivo «PPD» (descripción de la impresora PostScript), que es un archivo que se utiliza para describir las funciones de la impresora recién agregada. Esto provoca un ataque de ejecución de comandos una vez que se activa una tarea de impresión y se debe a la falta de validación de las entradas en los componentes del CUPS.

Además, corregir esta vulnerabilidad en particular crea una especie de arma de doble filo, ya que Evilsocket señala. CUPS incluye el filtro foomatic-rip, un ejecutable con antecedentes de ser un componente explotable de alto riesgo. Los archivos CVE relacionados con este componente se remontan a 2011 y, si bien se ha establecido que se puede utilizar foomatic-rip para ejecutar comandos del sistema operativo, la solución de este problema provoca problemas de estabilidad y la pérdida de compatibilidad con muchas impresoras antiguas. Es un problema complejo de superar.

  1. El actor de amenazas inicia el ataque
    1. CVE-2024-47176: cups-browsed <= 2.0.1 es vulnerable porque se enlaza al puerto UDP 631 mediante INADDR_ANY, lo que significa que confía en cualquier paquete recibido de cualquier fuente. Esto permite a un atacante remoto no autenticado enviar un paquete UDP malintencionado con una URL IPP manipulada (que apunta al servidor IPP controlado por el atacante), lo que desencadena la vulnerabilidad. El equipo de la víctima ahora cree que se está conectando a una impresora nueva y envía una solicitud solicitando los atributos de la impresora.
  2. El sistema víctima procesa los atributos de la impresora
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 tiene una vulnerabilidad en CFGetPrinterAttributes5, que no valida ni sanea correctamente los atributos IPP devueltos por un servidor IPP. Cuando cups-browsed procesa el paquete, puede ser engañado para que lea los atributos maliciosos enviados por el atacante.
  3. El sistema de la víctima se conecta al servidor IPP controlador del atacante
    1. CVE-2024-47175: libppd <= 2.1b1 de la función ppdCreatePpdFromIpp2 no valida ni sanea correctamente los atributos de IPP al guardarlos en un archivo PPD (descripción de impresora PostScript) temporal. Esto permite al atacante inyectar datos arbitrarios en un archivo PPD, incluida la directiva FooMaticripCommandLine, que el sistema de impresión puede ejecutar más adelante.
  4. El sistema víctima inicia el trabajo de impresión y se ejecuta el código del atacante
    CVE-2024-47177
    : cups-filters <= 2.0.1 es vulnerable porque el filtro foomatic-rip ejecuta comandos arbitrarios mediante la directiva FoomaticripCommandLine, lo que permite al atacante ejecutar comandos como el proceso cups-browsed. El atacante espera a que la máquina de la víctima inicie un trabajo de impresión. En el momento en que esto ocurra, se ejecutará el código malintencionado del atacante (ejecución remota de código).

¿Cómo puede mitigar el riesgo de RCE?

Para las empresas que utilizan CUPS como parte de sus operaciones comerciales, deben seguir los consejos de remediación recomendados por Enchufe malvado y Sombrero rojo. Esto incluye, pero no se limita a, la aplicación de parches de seguridad como una prioridad de nivel de emergencia.

Para ver Command Injection en general, consulta nuestra guía completa.

Si estás interesado en obtener más pautas de codificación gratuitas, consulta Entrenador de código seguro para ayudarlo a mantenerse al tanto de las mejores prácticas de codificación segura.

查看资源
查看资源

Descubra los desafíos de seguridad más recientes a los que se enfrentan los usuarios de Linux mientras exploramos las recientes vulnerabilidades de alta gravedad en el sistema común de impresión UNIX (CUPS). Descubra cómo estos problemas pueden provocar una posible ejecución remota de código (RCE) y qué puede hacer para proteger sus sistemas.

感兴趣了解更多吗?

了解更多

Secure Code Warrior 您的组织在软件开发全生命周期中保护代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全管理员、开发人员、首席信息安全官,还是任何与安全相关的工作人员,我们都能助力您的组织降低不安全代码带来的风险。

预约演示
分享到:
领英品牌社交x 标志
作者
Laura Verheyde
发布于 2024 年 10 月 07 日

Laura Verheyde 是Secure Code Warrior 的一名软件开发人员,主要负责研究漏洞并为Missions 和编码实验室创建内容。

分享到:
领英品牌社交x 标志

Los usuarios de Linux no lo han pasado bien últimamente, ya que, según se informa, varias vulnerabilidades de alta gravedad 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 del sistema común de impresión UNIX (CUPS) dirigida a los sistemas GNU/Linux y que podría permitir una potente ejecución remota de código (RCE).

El 27 de septiembre de 2024, Simone Margaritelli de evilsocket.net información crítica publicada sobre varias vulnerabilidades explotables en CUPS, y las CVE se asignaron posteriormente a cuatro de ellas. Esta cifra podría aumentar, pero en el momento de redactar este informe, la comunidad de seguridad está debatiendo la gravedad real de estos descubrimientos. Si bien es uno de los CVE, CVE-2024-47177, tiene una clasificación de gravedad crítica actual de 9,1 según MITRE. La manipulación correcta de esta falla de inyección de comandos depende de los servidores que tengan el servicio CUPS habilitado y, además, requiere acceso al puerto UDP 631 o DNS-SD. Sombrero rojo señala, sin embargo, que es posible reasignar CUPS a un puerto diferente.

El análisis exhaustivo de Margaritelli sobre el incidente revela una cadena de ataques insidiosa y compleja que, a pesar de los desacuerdos de la comunidad, no debe ignorarse. Nos da una lección sobre las dependencias aparentemente inocuas que pueden explotarse en gran medida si el actor de una amenaza tiene la determinación suficiente y si los patrones de codificación deficientes han dejado abiertas pequeñas oportunidades.

El escenario de CUPS es un poco diferente al que muchos desarrolladores y profesionales de AppSec pueden haber experimentado anteriormente, así que echemos un vistazo y probemos sus habilidades a lo largo del camino.

La vulnerabilidad: ejecución remota de código (RCE) mediante CUPS

El El blog de Evilsocket proporciona una base exhaustiva e inigualable sobre estas vulnerabilidades, y este es un recurso que seguiremos de cerca. Margaritelli también cita en su artículo a una fuente anónima, que no parece optimista en cuanto a la solidez general de seguridad de Linux:



»Desde un punto de vista de seguridad genérico, todo un sistema Linux tal como es hoy en día no es más que un lío interminable y desesperado de agujeros de seguridad que esperan ser explotados.»

Este es un recordatorio aleccionador de los riesgos de seguridad inherentes que siguen prevaleciendo en los entornos de código abierto, sin mencionar la imperiosa necesidad de aumentar la conciencia de seguridad y las habilidades de codificación seguras entre la comunidad de desarrollo global.

Echemos un vistazo a los CVEs:

La cadena de vulnerabilidades está muy extendida y actualmente afecta a todas las versiones actuales y anteriores de los siguientes paquetes:

  • filtros distrotech/cups-
  • Impresión abierta/filtros de tazas
  • Tazas exploradas
  • filtros libcups
  • 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 los servicios de impresión hace que esté ansioso por atender solicitudes de red, lo que lo convierte en el objetivo principal de 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. Básicamente, se trata de la capacidad de un atacante no autenticado ni detectado de reemplazar las URL del Protocolo de impresión de Internet (IPP) por otras malintencionadas, además de modificar las directivas que pueden provocar la inserción de comandos en el archivo «PPD» (descripción de la impresora PostScript), que es un archivo que se utiliza para describir las funciones de la impresora recién agregada. Esto provoca un ataque de ejecución de comandos una vez que se activa una tarea de impresión y se debe a la falta de validación de las entradas en los componentes del CUPS.

Además, corregir esta vulnerabilidad en particular crea una especie de arma de doble filo, ya que Evilsocket señala. CUPS incluye el filtro foomatic-rip, un ejecutable con antecedentes de ser un componente explotable de alto riesgo. Los archivos CVE relacionados con este componente se remontan a 2011 y, si bien se ha establecido que se puede utilizar foomatic-rip para ejecutar comandos del sistema operativo, la solución de este problema provoca problemas de estabilidad y la pérdida de compatibilidad con muchas impresoras antiguas. Es un problema complejo de superar.

  1. El actor de amenazas inicia el ataque
    1. CVE-2024-47176: cups-browsed <= 2.0.1 es vulnerable porque se enlaza al puerto UDP 631 mediante INADDR_ANY, lo que significa que confía en cualquier paquete recibido de cualquier fuente. Esto permite a un atacante remoto no autenticado enviar un paquete UDP malintencionado con una URL IPP manipulada (que apunta al servidor IPP controlado por el atacante), lo que desencadena la vulnerabilidad. El equipo de la víctima ahora cree que se está conectando a una impresora nueva y envía una solicitud solicitando los atributos de la impresora.
  2. El sistema víctima procesa los atributos de la impresora
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 tiene una vulnerabilidad en CFGetPrinterAttributes5, que no valida ni sanea correctamente los atributos IPP devueltos por un servidor IPP. Cuando cups-browsed procesa el paquete, puede ser engañado para que lea los atributos maliciosos enviados por el atacante.
  3. El sistema de la víctima se conecta al servidor IPP controlador del atacante
    1. CVE-2024-47175: libppd <= 2.1b1 de la función ppdCreatePpdFromIpp2 no valida ni sanea correctamente los atributos de IPP al guardarlos en un archivo PPD (descripción de impresora PostScript) temporal. Esto permite al atacante inyectar datos arbitrarios en un archivo PPD, incluida la directiva FooMaticripCommandLine, que el sistema de impresión puede ejecutar más adelante.
  4. El sistema víctima inicia el trabajo de impresión y se ejecuta el código del atacante
    CVE-2024-47177
    : cups-filters <= 2.0.1 es vulnerable porque el filtro foomatic-rip ejecuta comandos arbitrarios mediante la directiva FoomaticripCommandLine, lo que permite al atacante ejecutar comandos como el proceso cups-browsed. El atacante espera a que la máquina de la víctima inicie un trabajo de impresión. En el momento en que esto ocurra, se ejecutará el código malintencionado del atacante (ejecución remota de código).

¿Cómo puede mitigar el riesgo de RCE?

Para las empresas que utilizan CUPS como parte de sus operaciones comerciales, deben seguir los consejos de remediación recomendados por Enchufe malvado y Sombrero rojo. Esto incluye, pero no se limita a, la aplicación de parches de seguridad como una prioridad de nivel de emergencia.

Para ver Command Injection en general, consulta nuestra guía completa.

Si estás interesado en obtener más pautas de codificación gratuitas, consulta Entrenador de código seguro para ayudarlo a mantenerse al tanto de las mejores prácticas de codificación segura.

查看资源
查看资源

请填写以下表格以下载报告

我们希望获得您的许可,以便向您发送有关我们产品或安全编码相关主题的信息。我们将始终以最高标准谨慎处理您的个人数据,绝不会出于营销目的将其出售给其他公司。

发送
scw 成功图标
SCW 错误图标
要提交表单,请启用「分析」cookie。完成后请随时将其重新禁用。

Los usuarios de Linux no lo han pasado bien últimamente, ya que, según se informa, varias vulnerabilidades de alta gravedad 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 del sistema común de impresión UNIX (CUPS) dirigida a los sistemas GNU/Linux y que podría permitir una potente ejecución remota de código (RCE).

El 27 de septiembre de 2024, Simone Margaritelli de evilsocket.net información crítica publicada sobre varias vulnerabilidades explotables en CUPS, y las CVE se asignaron posteriormente a cuatro de ellas. Esta cifra podría aumentar, pero en el momento de redactar este informe, la comunidad de seguridad está debatiendo la gravedad real de estos descubrimientos. Si bien es uno de los CVE, CVE-2024-47177, tiene una clasificación de gravedad crítica actual de 9,1 según MITRE. La manipulación correcta de esta falla de inyección de comandos depende de los servidores que tengan el servicio CUPS habilitado y, además, requiere acceso al puerto UDP 631 o DNS-SD. Sombrero rojo señala, sin embargo, que es posible reasignar CUPS a un puerto diferente.

El análisis exhaustivo de Margaritelli sobre el incidente revela una cadena de ataques insidiosa y compleja que, a pesar de los desacuerdos de la comunidad, no debe ignorarse. Nos da una lección sobre las dependencias aparentemente inocuas que pueden explotarse en gran medida si el actor de una amenaza tiene la determinación suficiente y si los patrones de codificación deficientes han dejado abiertas pequeñas oportunidades.

El escenario de CUPS es un poco diferente al que muchos desarrolladores y profesionales de AppSec pueden haber experimentado anteriormente, así que echemos un vistazo y probemos sus habilidades a lo largo del camino.

La vulnerabilidad: ejecución remota de código (RCE) mediante CUPS

El El blog de Evilsocket proporciona una base exhaustiva e inigualable sobre estas vulnerabilidades, y este es un recurso que seguiremos de cerca. Margaritelli también cita en su artículo a una fuente anónima, que no parece optimista en cuanto a la solidez general de seguridad de Linux:



»Desde un punto de vista de seguridad genérico, todo un sistema Linux tal como es hoy en día no es más que un lío interminable y desesperado de agujeros de seguridad que esperan ser explotados.»

Este es un recordatorio aleccionador de los riesgos de seguridad inherentes que siguen prevaleciendo en los entornos de código abierto, sin mencionar la imperiosa necesidad de aumentar la conciencia de seguridad y las habilidades de codificación seguras entre la comunidad de desarrollo global.

Echemos un vistazo a los CVEs:

La cadena de vulnerabilidades está muy extendida y actualmente afecta a todas las versiones actuales y anteriores de los siguientes paquetes:

  • filtros distrotech/cups-
  • Impresión abierta/filtros de tazas
  • Tazas exploradas
  • filtros libcups
  • 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 los servicios de impresión hace que esté ansioso por atender solicitudes de red, lo que lo convierte en el objetivo principal de 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. Básicamente, se trata de la capacidad de un atacante no autenticado ni detectado de reemplazar las URL del Protocolo de impresión de Internet (IPP) por otras malintencionadas, además de modificar las directivas que pueden provocar la inserción de comandos en el archivo «PPD» (descripción de la impresora PostScript), que es un archivo que se utiliza para describir las funciones de la impresora recién agregada. Esto provoca un ataque de ejecución de comandos una vez que se activa una tarea de impresión y se debe a la falta de validación de las entradas en los componentes del CUPS.

Además, corregir esta vulnerabilidad en particular crea una especie de arma de doble filo, ya que Evilsocket señala. CUPS incluye el filtro foomatic-rip, un ejecutable con antecedentes de ser un componente explotable de alto riesgo. Los archivos CVE relacionados con este componente se remontan a 2011 y, si bien se ha establecido que se puede utilizar foomatic-rip para ejecutar comandos del sistema operativo, la solución de este problema provoca problemas de estabilidad y la pérdida de compatibilidad con muchas impresoras antiguas. Es un problema complejo de superar.

  1. El actor de amenazas inicia el ataque
    1. CVE-2024-47176: cups-browsed <= 2.0.1 es vulnerable porque se enlaza al puerto UDP 631 mediante INADDR_ANY, lo que significa que confía en cualquier paquete recibido de cualquier fuente. Esto permite a un atacante remoto no autenticado enviar un paquete UDP malintencionado con una URL IPP manipulada (que apunta al servidor IPP controlado por el atacante), lo que desencadena la vulnerabilidad. El equipo de la víctima ahora cree que se está conectando a una impresora nueva y envía una solicitud solicitando los atributos de la impresora.
  2. El sistema víctima procesa los atributos de la impresora
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 tiene una vulnerabilidad en CFGetPrinterAttributes5, que no valida ni sanea correctamente los atributos IPP devueltos por un servidor IPP. Cuando cups-browsed procesa el paquete, puede ser engañado para que lea los atributos maliciosos enviados por el atacante.
  3. El sistema de la víctima se conecta al servidor IPP controlador del atacante
    1. CVE-2024-47175: libppd <= 2.1b1 de la función ppdCreatePpdFromIpp2 no valida ni sanea correctamente los atributos de IPP al guardarlos en un archivo PPD (descripción de impresora PostScript) temporal. Esto permite al atacante inyectar datos arbitrarios en un archivo PPD, incluida la directiva FooMaticripCommandLine, que el sistema de impresión puede ejecutar más adelante.
  4. El sistema víctima inicia el trabajo de impresión y se ejecuta el código del atacante
    CVE-2024-47177
    : cups-filters <= 2.0.1 es vulnerable porque el filtro foomatic-rip ejecuta comandos arbitrarios mediante la directiva FoomaticripCommandLine, lo que permite al atacante ejecutar comandos como el proceso cups-browsed. El atacante espera a que la máquina de la víctima inicie un trabajo de impresión. En el momento en que esto ocurra, se ejecutará el código malintencionado del atacante (ejecución remota de código).

¿Cómo puede mitigar el riesgo de RCE?

Para las empresas que utilizan CUPS como parte de sus operaciones comerciales, deben seguir los consejos de remediación recomendados por Enchufe malvado y Sombrero rojo. Esto incluye, pero no se limita a, la aplicación de parches de seguridad como una prioridad de nivel de emergencia.

Para ver Command Injection en general, consulta nuestra guía completa.

Si estás interesado en obtener más pautas de codificación gratuitas, consulta Entrenador de código seguro para ayudarlo a mantenerse al tanto de las mejores prácticas de codificación segura.

观看网络研讨会
开始
了解更多

点击下方链接,下载此资源的PDF文件。

Secure Code Warrior 您的组织在软件开发全生命周期中保护代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全管理员、开发人员、首席信息安全官,还是任何与安全相关的工作人员,我们都能助力您的组织降低不安全代码带来的风险。

查看报告预约演示
查看资源
分享到:
领英品牌社交x 标志
感兴趣了解更多吗?

分享到:
领英品牌社交x 标志
作者
Laura Verheyde
发布于 2024 年 10 月 07 日

Laura Verheyde 是Secure Code Warrior 的一名软件开发人员,主要负责研究漏洞并为Missions 和编码实验室创建内容。

分享到:
领英品牌社交x 标志

Los usuarios de Linux no lo han pasado bien últimamente, ya que, según se informa, varias vulnerabilidades de alta gravedad 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 del sistema común de impresión UNIX (CUPS) dirigida a los sistemas GNU/Linux y que podría permitir una potente ejecución remota de código (RCE).

El 27 de septiembre de 2024, Simone Margaritelli de evilsocket.net información crítica publicada sobre varias vulnerabilidades explotables en CUPS, y las CVE se asignaron posteriormente a cuatro de ellas. Esta cifra podría aumentar, pero en el momento de redactar este informe, la comunidad de seguridad está debatiendo la gravedad real de estos descubrimientos. Si bien es uno de los CVE, CVE-2024-47177, tiene una clasificación de gravedad crítica actual de 9,1 según MITRE. La manipulación correcta de esta falla de inyección de comandos depende de los servidores que tengan el servicio CUPS habilitado y, además, requiere acceso al puerto UDP 631 o DNS-SD. Sombrero rojo señala, sin embargo, que es posible reasignar CUPS a un puerto diferente.

El análisis exhaustivo de Margaritelli sobre el incidente revela una cadena de ataques insidiosa y compleja que, a pesar de los desacuerdos de la comunidad, no debe ignorarse. Nos da una lección sobre las dependencias aparentemente inocuas que pueden explotarse en gran medida si el actor de una amenaza tiene la determinación suficiente y si los patrones de codificación deficientes han dejado abiertas pequeñas oportunidades.

El escenario de CUPS es un poco diferente al que muchos desarrolladores y profesionales de AppSec pueden haber experimentado anteriormente, así que echemos un vistazo y probemos sus habilidades a lo largo del camino.

La vulnerabilidad: ejecución remota de código (RCE) mediante CUPS

El El blog de Evilsocket proporciona una base exhaustiva e inigualable sobre estas vulnerabilidades, y este es un recurso que seguiremos de cerca. Margaritelli también cita en su artículo a una fuente anónima, que no parece optimista en cuanto a la solidez general de seguridad de Linux:



»Desde un punto de vista de seguridad genérico, todo un sistema Linux tal como es hoy en día no es más que un lío interminable y desesperado de agujeros de seguridad que esperan ser explotados.»

Este es un recordatorio aleccionador de los riesgos de seguridad inherentes que siguen prevaleciendo en los entornos de código abierto, sin mencionar la imperiosa necesidad de aumentar la conciencia de seguridad y las habilidades de codificación seguras entre la comunidad de desarrollo global.

Echemos un vistazo a los CVEs:

La cadena de vulnerabilidades está muy extendida y actualmente afecta a todas las versiones actuales y anteriores de los siguientes paquetes:

  • filtros distrotech/cups-
  • Impresión abierta/filtros de tazas
  • Tazas exploradas
  • filtros libcups
  • 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 los servicios de impresión hace que esté ansioso por atender solicitudes de red, lo que lo convierte en el objetivo principal de 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. Básicamente, se trata de la capacidad de un atacante no autenticado ni detectado de reemplazar las URL del Protocolo de impresión de Internet (IPP) por otras malintencionadas, además de modificar las directivas que pueden provocar la inserción de comandos en el archivo «PPD» (descripción de la impresora PostScript), que es un archivo que se utiliza para describir las funciones de la impresora recién agregada. Esto provoca un ataque de ejecución de comandos una vez que se activa una tarea de impresión y se debe a la falta de validación de las entradas en los componentes del CUPS.

Además, corregir esta vulnerabilidad en particular crea una especie de arma de doble filo, ya que Evilsocket señala. CUPS incluye el filtro foomatic-rip, un ejecutable con antecedentes de ser un componente explotable de alto riesgo. Los archivos CVE relacionados con este componente se remontan a 2011 y, si bien se ha establecido que se puede utilizar foomatic-rip para ejecutar comandos del sistema operativo, la solución de este problema provoca problemas de estabilidad y la pérdida de compatibilidad con muchas impresoras antiguas. Es un problema complejo de superar.

  1. El actor de amenazas inicia el ataque
    1. CVE-2024-47176: cups-browsed <= 2.0.1 es vulnerable porque se enlaza al puerto UDP 631 mediante INADDR_ANY, lo que significa que confía en cualquier paquete recibido de cualquier fuente. Esto permite a un atacante remoto no autenticado enviar un paquete UDP malintencionado con una URL IPP manipulada (que apunta al servidor IPP controlado por el atacante), lo que desencadena la vulnerabilidad. El equipo de la víctima ahora cree que se está conectando a una impresora nueva y envía una solicitud solicitando los atributos de la impresora.
  2. El sistema víctima procesa los atributos de la impresora
    1. CVE-2024-47076: libcupsfilters <= 2.1b1 tiene una vulnerabilidad en CFGetPrinterAttributes5, que no valida ni sanea correctamente los atributos IPP devueltos por un servidor IPP. Cuando cups-browsed procesa el paquete, puede ser engañado para que lea los atributos maliciosos enviados por el atacante.
  3. El sistema de la víctima se conecta al servidor IPP controlador del atacante
    1. CVE-2024-47175: libppd <= 2.1b1 de la función ppdCreatePpdFromIpp2 no valida ni sanea correctamente los atributos de IPP al guardarlos en un archivo PPD (descripción de impresora PostScript) temporal. Esto permite al atacante inyectar datos arbitrarios en un archivo PPD, incluida la directiva FooMaticripCommandLine, que el sistema de impresión puede ejecutar más adelante.
  4. El sistema víctima inicia el trabajo de impresión y se ejecuta el código del atacante
    CVE-2024-47177
    : cups-filters <= 2.0.1 es vulnerable porque el filtro foomatic-rip ejecuta comandos arbitrarios mediante la directiva FoomaticripCommandLine, lo que permite al atacante ejecutar comandos como el proceso cups-browsed. El atacante espera a que la máquina de la víctima inicie un trabajo de impresión. En el momento en que esto ocurra, se ejecutará el código malintencionado del atacante (ejecución remota de código).

¿Cómo puede mitigar el riesgo de RCE?

Para las empresas que utilizan CUPS como parte de sus operaciones comerciales, deben seguir los consejos de remediación recomendados por Enchufe malvado y Sombrero rojo. Esto incluye, pero no se limita a, la aplicación de parches de seguridad como una prioridad de nivel de emergencia.

Para ver Command Injection en general, consulta nuestra guía completa.

Si estás interesado en obtener más pautas de codificación gratuitas, consulta Entrenador de código seguro para ayudarlo a mantenerse al tanto de las mejores prácticas de codificación segura.

目录

下载PDF
查看资源
感兴趣了解更多吗?

了解更多

Secure Code Warrior 您的组织在软件开发全生命周期中保护代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全管理员、开发人员、首席信息安全官,还是任何与安全相关的工作人员,我们都能助力您的组织降低不安全代码带来的风险。

预约演示下载
分享到:
领英品牌社交x 标志
资源中心

入门资源

更多出版物
资源中心

入门资源

更多出版物