Seleccionar página

Introducción

Apache Spark es un sistema distribuido de código abierto para el procesamiento de datos a gran escala y el cálculo rápido de propósito general. También es compatible con una amplia gama de herramientas avanzadas, como Spark SQL para SQL y DataFrames, pandas API on Spark para cargas de trabajo de pandas, MLlib para el aprendizaje automático, GraphX para el procesamiento de gráficos y Structured Streaming para el procesamiento de flujos. Sus potentes características, combinadas con el acceso gratuito, hacen que sea ampliamente utilizado en todo el mundo. Como resultado, la vulnerabilidad de inyección de comandos de shell tiene un amplio impacto.

Vulnerabilidad

La vulnerabilidad de inyección de comandos del shell gira en torno a la manipulación de las ACL de la aplicación, que permite a los usuarios/grupos -excluyendo al propietario que inicia la aplicación- acceder a una aplicación. La interfaz de usuario de Apache Spark ofrece la posibilidad de habilitar las ACL a través de la opción de configuración spark.acls.enable. Si las ACLs están habilitadas, Apache spark pasará por el filtro HttpSecurityFilter para verificar los permisos del usuario. En los códigos de HttpSecurityFilter, el nombre de usuario puede ser introducido arbitrariamente y los campos serán concatenados posteriormente. Por lo tanto, un usuario malicioso podría entonces ser capaz de inyectar un trozo de comando de shell separando los caracteres del comando a varios campos de nombre de usuario,. Entonces, después de que los campos sean concatenados en un trozo del comando shell, la función executeAndGetOutput hará que el comando se ejecute.

Versión afectada

Spark Core – Apache<=3.0.3

3.1.1 <= Spark Core – Apache <=3.1.2

3.2.0 <= Spark Core – Apache <=3.2.1

Corrección

Solución oficial: El proveedor ha publicado los parches, y recomendamos a los usuarios que actualicen Apache Spark a la versión 3.1.3, 3.2.2, 3.3.0 o a una versión superior. Por favor, visite:

https://spark.apache.org/downloads.html

Métodos de referencia en GitHub: Podemos solucionar la vulnerabilidad eliminando la llamada a bash en la función ShellBasedGroupsMappingProvider. Por favor, visite:

https://github.com/apache/spark/pull/36315/files

Implementación de la corrección

El IPS de Hillstone puede soportar la detección y protección de esta vulnerabilidad.

Figura 1. Vulnerabilidad de inyección de comandos en Apache Spark detectada por Hillstone IPS

La inteligencia de esta vulnerabilidad está disponible también en Hillstone iSource.

Figura 2. Inteligencia de puntos calientes en Hillstone iSource

WAF 3.5: Protección Más Inteligente y Mejor Gestión

WAF 3.5 Protección Más Inteligente y Mejor Gestión

iSource 2.0R13: El Próximo Gran Paso en Operaciones de Seguridad Unificadas

iSource 2.0R13 El Próximo Gran Paso en Operaciones de Seguridad Unificadas

iSource 2.0R12: Desbloqueando Nuevas Capacidades para la Gestión de TI

Mejorando tu Estrategia de Seguridad: Novedades en las Últimas Versiones de BDS

HSM 5.6.0: Llevando la Gestión Centralizada al Siguiente Nivel

HSM 5.6.0 Llevando la Gestión Centralizada al Siguiente Nivel

StoneOS R11: Revolucionando la Seguridad de Redes para la Empresa Moderna

StoneOS R11: Revolucionando la Seguridad de Redes para la Empresa Moderna

Presentamos los Nuevos Modelos NIPS de Hillstone: Abordando los Desafíos de Seguridad Empresarial con Soluciones Escalables

Abordando los Desafíos de Seguridad Empresarial con Soluciones Escalables

Solución NDR: Mejora tu Seguridad con la Tecnología Impulsada por IA de Hillstone

Rompiendo el molde: Deteniendo el Código de un Hacker ep. 22 – China Telecom Gateway Configuration Management Backend ipping.php Vulnerabilidad de Ejecución Remota de Código