Múltiples vulnerabilidades afectan a complementos de Jenkins

08 Noviembre 2021
Crítico

Jenkins ha publicado 4 nuevos avisos de seguridad que contemplan 14 vulnerabilidades, de las cuales 11 son vulnerabilidades Críticas, 2 Altas y 1 Media. Estas vulnerabilidades permiten eludir el filtrado de rutas del control de acceso de agente a controlador, leer y escribir el contenido de cualquier directorio de construcción almacenado en Jenkins con muy pocas restricciones, reemplazar el código de una biblioteca confiable con una variante modificada, entre otros.

Severidad Crítica

Varias vulnerabilidades permiten eludir el filtrado de rutas del control de acceso de agente a controlador 

CVE-2021-21685 - CVE-2021-21686 - CVE-2021-21687 - CVE-2021-21688 - CVE-2021-21689 - CVE-2021-21690 - CVE-2021-21691 - CVE-2021- 21692 - CVE-2021-21693 - CVE-2021-21694 - CVE-2021-21695

Las 11 vulnerabilidades Críticas en la implementación de filtrado de rutas de archivos de Jenkins (2.318 y versiones anteriores, LTS 2.303.2 y versiones anteriores) permiten a los procesos del agente leer y escribir archivos arbitrarios en el sistema de archivos del controlador de Jenkins, y obtener cierta información sobre los sistemas de archivos del controlador de Jenkins.

  • CVE-2021-21685: FilePath#mkdirs verifica el permiso para crear directorios principales.
  • CVE-2021-21686: Los filtros de ruta de archivo no canonicalizan las rutas, lo que permite que las operaciones sigan enlaces simbólicos a directorios externos permitidos.
  • CVE-2021-21687: FilePath#untar verifica el permiso para crear enlaces simbólicos al desarchivar un enlace simbólico.
  • CVE-2021-21688: FilePath#reading(FileVisitor) no rechaza ninguna operación, lo que permite a los usuarios tener acceso de lectura sin restricciones mediante ciertas operaciones (creación de archivos, #copyRecursiveTo).
  • CVE-2021-21689: FilePath#unzip y FilePath#untar no estuvieron sujetos a ningún control de acceso.
  • CVE-2021-21690: Los procesos del agente pueden omitir por completo el filtrado de la ruta del archivo al envolver la operación del archivo en una ruta del archivo del agente.
  • CVE-2021-21691: Es posible crear enlaces simbólicos sin el symlink permiso.
  •  CVE-2021-21692: Las operaciones FilePath#renameToy FilePath#moveAllChildrenTo solo verifican el permiso de lectura en la ruta de origen.
  • CVE-2021-21693: Al crear archivos temporales, el permiso para crear archivos solo se verifica después de que se hayan creado.
  • CVE-2021-21694: FilePath#toURI, FilePath#hasSymlink, FilePath#absolutize, FilePath#isDescendant, y FilePath#get*DiskSpace, no verifican los permisos.
  • CVE-2021-21695: FilePath#listFiles enumera los archivos fuera de los directorios con acceso de lectura del agente al seguir enlaces simbólicos.

Severidad Alta

CVE-2021-21696
El control de acceso del agente al controlador permitió la escritura en un directorio confidencial utilizado por Pipeline: Complemento de bibliotecas compartidas Groovy

Las versiones afectadas a esta vulnerabilidad  no limitan el acceso de “lectura/escritura” del agente al “libs/directorio” dentro de los directorios de compilación cuando se utilizan las FilePathAPI. Esta falla permite a los atacantes que controlan los procesos de los agentes reemplazar el código de una biblioteca confiable con una variante modificada. 

CVE-2021-21697
El control de acceso de agente a controlador permite leer/escribir la mayor parte del contenido de los directorios de compilación 

A los agentes se les permite un acceso limitado a los archivos del sistema de archivos del controlador de Jenkins. Los directorios a los que se permite acceder a los agentes en Jenkins versiones 2.318 (y anteriores), LTS 2.303.2 (y anteriores), incluyen los directorios que almacenan información relacionada con la construcción y con la intención de permitir a los agentes almacenar metadatos relacionados con la construcción durante la ejecución de la misma. Como consecuencia, esto permite a cualquier agente leer y escribir el contenido de cualquier directorio de construcción almacenado en Jenkins con muy pocas restricciones (build.xml y algunos metadatos relacionados con Pipeline).

Severidad Media

CVE-2021-21698
La vulnerabilidad de recorrido de ruta en el complemento subversión permite leer archivos arbitrarios.

La versión afectada de esta vulnerabilidad  no restringe el nombre de un archivo cuando se busca un archivo de clave de subversión en el controlador de un agente. Esto permite a los atacantes que pueden controlar los procesos de los agentes leer archivos arbitrarios en el sistema de archivos del controlador de Jenkins. El complemento de subversión 2.15.1 verifica la presencia y prohíbe los caracteres separadores de directorio como parte del nombre del archivo, restringiéndolo al directorio deseado.

Se recomienda lo siguiente:

  • Instalar las actualizaciones del fabricante disponibles en medios oficiales del proveedor, previo análisis del impacto que podría provocar en los servicios críticos para el negocio de su organización. Para ello consulte con su personal técnico o áreas resolutorias correspondientes.

El listado de las CVE se adjunta a continuación:


Tags: #Jenkins #Parche #Vulnerabilidad


© 2019 Entel CyberSecure
Protege tus activos críticos, datos e infraestructura TI y minimiza tus riesgos de fuga de información,
fraude electrónico, espionaje industrial, suplantación de identidades y amenazas Zero Day, con las soluciones y servicios del Centro de Ciberinteligencia de Entel.