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).
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: