Nuevas fallas de seguridad de Jenkins podrían permitir ataques de ejecución remota de código (RCE)

Jenkins es una herramienta de integración y entrega continuas, ampliamente utilizada en la industria del software. Cuyos beneficios son la automatización en el proceso de creación, prueba e implementación de software, lo que permite a los desarrolladores entregar código de manera más rápida y consistente.

Se han revelado un par de vulnerabilidades de seguridad graves en el servidor de automatización de código abierto de Jenkins, identificadas como CVE-2023-27898 (CVSS:8.8) y CVE-2023-27905 (CVSS: 6.1), estas fallas podrían conducir a la ejecución remota de código en sistemas específicos.

La vulnerabilidad CVE-2023-27898 (CVSS:8.8) permite a un atacante remoto realizar ataques de secuencias de comandos entre sitios (XSS).

La vulnerabilidad existe debido a la desinfección insuficiente de los datos proporcionados por el usuario en el administrador de complementos. Un atacante remoto puede inyectar y ejecutar código HTML y script arbitrario en el navegador del usuario en el contexto de un sitio web vulnerable.

La explotación exitosa de esta vulnerabilidad puede permitir que un atacante remoto robe información potencialmente confidencial, cambie la apariencia de la página web, realice ataques de phishing y de descarga oculta.

La vulnerabilidad CVE-2023-27905 (CVSS: 6.1) en update-center2permite que un atacante remoto obtenga acceso a información potencialmente confidencial.

La vulnerabilidad existe debido a la producción excesiva de datos por parte de la aplicación dentro de los seguimientos de la pila de errores relacionados con los agentes. Un usuario remoto puede obtener acceso no autorizado a información confidencial en el sistema.

Versiones de software vulnerables

  • Jenkins Weekly hasta la versión 2.393
  • Jenkins LTS hasta la versión 2.375.3
  • update-center2 hasta la versión 3.14

Explotar estas vulnerabilidades podría permitir que un atacante no autenticado ejecute código arbitrario en el servidor Jenkins de la víctima, lo que podría llevar a un compromiso completo del servidor Jenkins.

Las vulnerabilidades se logran a través de un XSS almacenado (Stored XSS) explotable por un complemento de Jenkins con una versión central maliciosa, que los atacantes cargan en el Centro de actualizaciones de Jenkins.

Una vez que la víctima abre el “Administrador de complementos disponibles” en su servidor Jenkins, se activa el XSS, lo que permite a los atacantes ejecutar código arbitrario en el servidor Jenkins utilizando la API de la consola de secuencias de comandos. 

Dado que también es un caso de XSS almacenado en el que el código JavaScript se inyecta en el servidor, la vulnerabilidad se puede activar sin tener que instalar el complemento o incluso visitar la URL del complemento en primer lugar.

Sin embargo, el ataque se basa en el requisito previo de que el complemento falso sea compatible con el servidor Jenkins y aparezca en la parte superior de la fuente principal en la página «Administrador de complementos disponibles».

Jenkins ya ha lanzado parches para el update-center2 y el servidor

  • Jenkins Weekly versión 2.394
  • Jenkins LTS versión 2.375.4
  • update-center2 versión 3.15

Recomendaciones:

Se recomienda a los usuarios que actualicen su servidor Jenkins a la última versión disponible para mitigar los riesgos potenciales.

Referencias