Múltiples vulnerabilidades en Jenkins

Jenkins es un servidor de automatización open source escrito en Java, ayuda en la automatización de parte del proceso de desarrollo de software mediante la integración continua. Admite herramientas de control de versiones y puede ejecutar proyectos basados en Apache Ant y Apache Maven, así como secuencias de comandos de consola y programas por lotes de Windows.

Recientemente Jenkins, realizó una publicación de actualizaciones de seguridad para varias vulnerabilidades que afectan a Jenkins core en dos de sus productos, de las cuales 6 han sido catalogadas como de riesgo alto, 2 de riesgo medio y 1 de riesgo bajo.

Productos afectados

● Jenkins weekly, versiones 2.274 y anteriores;

● Jenkins LTS, versiones 2.263.1 y anteriores.

● Complemento Bumblebee HP ALM hasta 4.1.5 inclusive

● Complemento TICS hasta 2020.3.0.6 inclusive

● Complemento TraceTronic ECU-TEST hasta 2.23.1 inclusive

A continuación se describen las vulnerabilidades detectadas:

Vulnerabilidades de riesgo Alto:

El CVE-2021-21608, afecta aJenkins 2.274 y versiones anteriores, LTS 2.263.1 y versiones anteriores, tiene una vulnerabilidad de cross-site scripting XSS almacenada en etiquetas de botones, (criticidad alta).

Los atacantes pueden aprovechar para controlar las etiquetas de los botones. Un ejemplo de botones con una etiqueta controlada por el usuario son los botones del input paso Pipeline .

El CVE-2021-21610, afecta a Jenkins 2.274 y versiones anteriores, LTS 2.263.1 y versiones anteriores, tiene una vulnerabilidad de cross-site scripting XSS reflejada en la vista previa del formateador de marcado,(criticidad alta).

Jenkins permite a los administradores elegir el formateador de marcado que se utilizará para las descripciones de trabajos, compilaciones, vistas, etc. que se muestran en Jenkins. Al editar una descripción de este tipo, los usuarios pueden elegir que Jenkins presente una vista previa formateada de la descripción que ingresaron.

No implementan ninguna restricción para la URL que representa la vista previa formateada del marcado pasado como parámetro de consulta. Esto da como resultado una vulnerabilidad reflejada de secuencias de comandos entre sitios (XSS), si el formateador de marcado configurado no prohíbe los elementos no seguros (JavaScript) en el marcado, como el complemento Anything Goes Formatter.

El CVE-2021-21611, afecta a Jenkins 2.274 y versiones anteriores, LTS 2.263.1 y versiones anteriores, y tiene una vulnerabilidad de cross-site scripting XSS almacenada en la página del nuevo elemento, que podrían explotar atacantes capaces de especificar nombres para mostrar o ID de tipos de elementos, (criticidad alta).

El CVE-2021-21605, afecta a Jenkins 2.274 y anterior, LTS 2.263.1 y anterior, y tiene una vulnerabilidad de recorrido de ruta en nombres de agentes, que permite a los usuarios con permiso de Agente, (criticidad alta), configurar elegir nombres de agente que hacen que Jenkins anule config.xml archivos no relacionados . Si config.xml se reemplaza el archivo global, Jenkins se iniciará con valores predeterminados heredados inseguros después de un reinicio.

El CVE-2021-21606, afecta a Jenkins 2.274 y versiones anteriores, LTS 2.263.1 y versiones anteriores, y tiene una vulnerabilidad de verificación arbitraria de existencia de archivos en huellas dactilares de archivos (criticidad alta).

Jenkins proporciona una función para que los trabajos almacenen y rastreen las huellas dactilares de los archivos utilizados durante una compilación. Jenkins proporciona una API REST para comprobar dónde se utilizó una determinada huella digital y qué compilaciones. Este punto final no valida completamente que la ID de huella digital proporcionada esté formateada correctamente antes de verificar los metadatos XML para esa huella digital en el sistema de archivos del controlador.

Esto permite a los atacantes con permiso de lectura general comprobar la existencia de archivos XML en el sistema de archivos del controlador, donde la ruta relativa se puede construir como 32 caracteres.

El CVE-2021-21612, afecta aJenkins TraceTronic ECU-TEST Plugin 2.23.1 y versiones anteriores, almacena las credenciales sin cifrar en su archivo de configuración global en el controlador Jenkins, (criticidad alta), donde los usuarios con acceso al sistema de archivos del controlador Jenkins pueden verlas.

El CVE-2021-21614, afecta aJenkins Bumblebee HP ALM Plugin 4.1.5 y versiones anteriores, almacena las credenciales sin cifrar en su archivo de configuración global en el controlador Jenkins, (criticidad alta)., donde los usuarios con acceso al sistema de archivos del controlador Jenkins pueden verlas.

Vulnerabilidades de riesgo Medio:

El CVE-2021-21603, afecta a Jenkins 2.274 y versiones anteriores, LTS 2.263.1 y versiones anteriores, tiene una vulnerabilidad de cross-site scriptingXSS en la barra de notificaciones, (criticidad Media).

Esto da como resultado una vulnerabilidad de secuencias de comandos entre sitios (XSS) que los atacantes pueden aprovechar para influir en el contenido de la barra de notificaciones.

El CVE-2021-21604, afecta a Jenkins 2.274 y versiones anteriores, LTS 2.263.1 y versiones anteriores, y tiene una vulnerabilidad de, manejo inadecuado de errores de deserialización de XML de la API REST, (criticidad media).

Jenkins proporciona API REST XML para configurar vistas, trabajos y otros elementos. Cuando la deserialización falla debido a datos no válidos, almacenan referencias de objetos no válidos creadas a través de estos puntos finales en el monitor de datos antiguo. Si un administrador descarta los datos antiguos, algunos datos erróneos enviados a estos puntos finales pueden persistir.

Esto permite a los atacantes Ver / Crear, Trabajar / Crear, Agente / Crear o sus respectivos permisos * / Configurar para inyectar contenido diseñado en Old Data Monitor que da como resultado la instanciación de objetos potencialmente inseguros cuando los descarta un administrador.

El CVE-2021-21602, afecta a Jenkins 2.274 y versiones anteriores, LTS 2.263.1 y versiones anteriores, y tiene vulnerabilidad de lectura arbitraria de archivos en los navegadores del espacio de trabajo, (criticidad media).

El explorador de archivos para espacios de trabajo, artefactos archivados y $JENKINS_HOME/userContent/sigue enlaces simbólicos a ubicaciones fuera del directorio

Esto permite a los atacantes con permiso de trabajo / espacio de trabajo y la capacidad de controlar el contenido del espacio de trabajo (por ejemplo, con permiso de trabajo / configuración o la capacidad de cambiar el contenido de SCM), crear enlaces simbólicos que les permitan acceder a archivos fuera de los espacios de trabajo utilizando el navegador del espacio de trabajo.

Vulnerabilidades de riesgo bajo:

El CVE-2021-21607, afecta a Jenkins 2.274 y versiones anteriores, LTS 2.263.1 y versiones, y tiene una vulnerabilidad de asignación de memoria excesiva en las URL de los gráficos conduce a la denegación de servicio, (criticidad baja).

Jenkins presenta varios gráficos diferentes para características como estadísticas de uso de agentes y etiquetas, uso de memoria o varias estadísticas proporcionadas por complementos, queno limita el tamaño del gráfico proporcionado como parámetros de consulta. Esto permite a los atacantes solicitar o hacer que los usuarios legítimos de Jenkins soliciten URL creadas que utilizan rápidamente toda la memoria disponible en Jenkins, lo que puede provocar errores de memoria insuficiente.

El CVE-2021-21609, afecta a Jenkins 2.274 y anteriores, LTS 2.263.1 y anteriores, y tiene una vulnerabilidad de verificación de permisos faltantes para rutas con prefijo específico, (criticidad baja).

Jenkins incluye una lista estática de URL a las que siempre se puede acceder incluso sin el permiso general de lectura, como el formulario de inicio de sesión. Estas URL están excluidas de una verificación de permisos universal.

Jenkins no compara correctamente las URL solicitadas con esa lista. Esto permite a los atacantes sin permiso general / de lectura acceder a las URL proporcionadas por el complemento con cualquiera de los siguientes prefijos si no se requieren otros permisos:

● accessDenied

● error

● instance-identity

● login

● logout

● oops

● securityRealm

● signup

● tcpSlaveAgentListener

Por ejemplo, un complemento que contribuya con la ruta loginFoo/tendría URL en ese espacio accesibles sin la verificación de permiso general / lectura predeterminada.

El CVE-2021-21613, afecta a Jenkins TICS Plugin 2020.3.0.6 y versiones anteriores, no escapa a las respuestas del servicio TICS, lo que da como resultado una vulnerabilidad de secuencia de comandos entre sitios (XSS) que los atacantes pueden aprovechar para controlar el contenido de la respuesta del servicio TICS, (criticidad baja).

Recomendaciones de seguridad

● Actualizar Jenkins weekly a la versión 2.275 disponible en su sitio web

● Actualizar Jenkins LTS a la versión 2.263.2 disponible en su sitio web

● Actualizar el complemento Bumblebee HP ALM a la versión 4.1.6 disponible en su sitio web

● Actualizar el complemento TICS a la versión 2020.3.0.7 disponible en su sitio web

● Actualizar el complemento TraceTronic ECU-TEST la versión 2.24 disponible en su sitio web

Referencias

● https://www.jenkins.io/security/advisory/2021-01-1…

● https://www.incibe-cert.es/alerta-temprana/avisos-…

Compartir: