Vulnerabilidad crítica en Apache Spark

Apache Spark es un motor unificado de analíticas para procesar datos a gran escala que integra módulos para SQL, streaming, aprendizaje automático y procesamiento de grafos. Spark se puede ejecutar de forma independiente o en Apache Hadoop, Apache Mesos, Kubernetes, la nube y distintas fuentes de datos.

Se ha visto afectado por una vulnerabilidad de escalada de privilegios, identificada como CVE-2023-22946 con una puntuación CVSS de 9.9.  Esta vulnerabilidad tiene un impacto significativo en la seguridad de sistemas que emplean Apache Spark en su infraestructura.

En situaciones donde se hace uso de Spark-Submit, se permite la especificación de un ‘proxy-user’ para la ejecución, inicialmente con la intención de restringir los privilegios de la aplicación. Se ha identificado que esta funcionalidad puede ser explotada por actores maliciosos para ejecutar código con los privilegios del usuario que envía la solicitud. Esto abre la puerta a la inclusión de clases maliciosas relacionadas con la configuración en el classpath (ruta de clase) de la aplicación, lo que potencialmente compromete la seguridad del sistema.

Producto y versiones afectadas:

  • Apache Spark anteriores a la versión 3.4.0.

Solución:

  • Apache Spark versión 3.4.0 o posterior.

Recomendaciones:

  • Implementar las actualizaciones de seguridad lo antes posible para mitigar los riesgos potenciales.
  • Verificar que la configuración «spark.submit.proxyUser.allowCustomClasspathInClusterMode» se encuentre en su valor predeterminado «falso» y revisar que las aplicaciones enviadas no modifiquen esta configuración para asegurar una protección efectiva contra la escalada de privilegios.

Referencias: