Cabecera-v2-web.jpg

Múltiples vulnerabilidades de riesgo alto, medio y bajo en Jenkins


Recientemente Jenkins ha lanzado actualizaciones de seguridad, donde abordan 9 vulnerabilidades en diversos productos, de las cuales 6 han sido catalogadas como altas, 2 de riesgo medio y 1 de riesgo bajo. La explotación exitosa de estos fallos permitiría a un atacante inyectar código malicioso u obtener información confidencial potencialmente útil para realizar otros ataques.

Productos Afectados

  • Jenkins LTS(Long-Term Support) en versiones 2.235.3 y anteriores;
  • Jenkins en versiones 2.251 y anteriores;
  • Pipeline Maven Integration Plugin en versiones 3.8.2 y anteriores;
  • Yet Another Build Visualizer Plugin en versiones 1.11 y anteriores;

A continuación se describen las vulnerabilidades de riesgo alto:

Múltiples vulnerabilidades de XSS (Cross-site Scripting) almacenado. La explotación exitosa de estos fallos permitiría a un atacante remoto inyectar código malicioso:

El CVE-2020-2229, afecta a Jenkins en versiones 2.251 y anteriores, a Jenkins LTS en versiones 2.235.3 y anteriores; y se da debido a que no se valida correctamente la información de herramientas de los iconos de ayuda. Mientras que el CVE-2020-2230, afecta a Jenkins en versiones 2.251 y anteriores , a Jenkins LTS en versiones 2.235.3 y anteriores; y se da debido a que no se valida correctamente la descripción de la nomenclatura del proyecto visualizada durante la creación de un ítem. Por otro lado el CVE-2020-2231, afecta a Jenkins en versiones 2.251 y anteriores, a Jenkins LTS en versiones 2.235.3 y anteriores; y se da debido a que no se valida correctamente la dirección remota del host que inicia una compilación (build) a través de “Trigger Builds Remotely”. Finalmente el CVE-2020-2236, que afecta al plugin Yet Another Build Visualizer en versiones 1.11 y anteriores; se da debido a que no se valida correctamente el contenido de la información sobre herramientas.

Además se detectaron vulnerabilidades de Improper Authorization y CSRF (Cross-site Request Forgery) en el plugin Pipeline Maven Integration en versiones 3.8.2 y anteriores, identificadas con los CVE-2020-2234 y CVE-2020-2235, respectivamente. Estos fallos se dan debido a que no se realiza una verificación correcta de los permisos en el método encargado de implementar la validación de los formularios, además este método no requiere solicitudes POST, llevando a una vulnerabilidad del tipo CSRF. La explotación exitosa de estos fallos podrían permitir a un atacante remoto obtener acceso a las credenciales almacenadas en Jenkins o realizar acciones en nombre del usuario afectado.

Por otro lado, se identificaron vulnerabilidades de riesgo medio y bajo que afectan a:

  • Email Extension Plugin en versiones 2.72 y 2.73;
  • Plugin Pipeline Maven Integration en versiones 3.8.2 y anteriores;
  • Flaky Test Handler Plugin en versiones 1.0.4 y anteriores;

Vulnerabilidades de riesgo medio, del tipo Improper Authorization en el plugin Email Extension (CVE-2020-2233) que permitiría a un atacante local enumerar IDs de las credenciales almacenadas en Jenkins y del tipo CSRF (Cross-site Request Forgery) en el plugin Flaky Test Handler (CVE-2020-2237) que permitiría a un atacante remoto reconstruir un proyecto en una revisión de git anterior. Finalmente una vulnerabilidad de riesgo bajo que permitiría a un atacante local obtener acceso a la contraseña SMTP (CVE-2020-2232).

[Actualización 19/08/2020]

Jenkins ha publicado recientemente un aviso de seguridad en el cual se informa sobre una vulnerabilidad que afecta a las versiones 2.224 a 2.242 de Jenkins y 2.222.1 a 2.235.4 de Jenkins TLS; identificada y catalogada con el CVE-2019-17638 de riesgo crítico.

Este fallo se da debido a que Jenkins incluye una interfaz de linea de comandos (Winstone) de Eclipse Jetty 9.4.27 (herramienta utilizada para proveer un servidor Java HTTP y un contenedor web a frameworks), versión que cuenta con un mecanismo para lidiar con encabezados de respuestas HTTP de gran tamaño, esto con el fin de prevenir vulnerabilidades de tipo Buffer Overflow. Sin embargo, para hacer esto Jetty lanza una excepción para producir un error HTTP 431 lo que hace que los encabezados de respuesta HTTP se liberen en el grupo del búfer dos veces, llevando a la corrupción de la memoria y divulgación de información. La explotación exitosa de este fallo permitiría a un atacante no autenticado obtener encabezados de respuestas HTTP que incluyan información confidencial destinada a otro usuario.

Recomendaciones:

  • Actualizar los productos afectados, a las siguientes versiones:
    • Jenkins, a la versión 2.252 desde el siguiente enlace;
    • Jenkins LTS, a la versión 2.235.4 desde el siguiente enlace;
    • Email Extension Plugin, a la versión 2.74 desde el siguiente enlace;
    • Pipeline Maven Integration Plugin, a la versión 3.8.3 desde el siguiente enlace;
    • Yet Another Build Visualizer Plugin, a la versión 1.12 desde el siguiente enlace;
    • Flaky Test Handler Plugin, en cuanto se encuentre disponible desde el siguiente enlace.
  • Instalar un WAF (Web Application Firewall) que filtre todas las solicitudes.
Referencias:
pie.png

CERT-PY | Centro de Respuestas a Incidentes Cibernéticos
Ministerio de Tencnologí­as de la Información y Comunicación (MITIC)

Avda. Gral. Santos c/ Concordia | Telefono: (595 21) 217-9000
República del Paraguay

80x15.png

Versión del Template 1.11