El equipo de investigación de vulnerabilidades de SonarSource ha descubierto dos vulnerabilidades críticas en Jenkins, el software líder de integración continua e implementación continua (CI/CD) de código abierto. Es urgente que los administradores y desarrolladores parcheen sus servidores Jenkins debido a la existencia de exploits públicos para estas vulnerabilidades.
Vulnerabilidad CVE-2024-23897
La primera vulnerabilidad, identificada como CVE-2024-23897, permite a atacantes no autenticados leer una cantidad limitada de datos de archivos arbitrarios. Además, los atacantes autorizados con permiso «overall/read» pueden acceder al contenido completo de un archivo arbitrario desde el servidor de Jenkins. Esta vulnerabilidad podría permitir a los atacantes leer secretos de Jenkins y escalar privilegios hacia el nivel de administrador, lo que les permitiría ejecutar código arbitrario en el servidor.
Vulnerabilidad CVE-2024-23898
La segunda vulnerabilidad descubierta es un caso de secuestro de WebSocket entre sitios (CSWSH), identificada como CVE-2024-23898. Esta permite a un atacante ejecutar comandos CLI arbitrarios manipulando a una víctima para que haga clic en un enlace.
Las vulnerabilidades se solucionaron en las versiones 2.442 y LTS 2.426.3 de Jenkins. Según el aviso, Jenkins utiliza la biblioteca args4j para analizar argumentos y opciones de comandos en el controlador al procesar comandos CLI. Esta función está habilitada por defecto y no se desactiva en las versiones 2.441 y anteriores, LTS 2.426.2 y anteriores.
La vulnerabilidad CVE-2024-23897 podría permitir a atacantes no autenticados con permiso «overall/read» leer archivos arbitrarios en el sistema de archivos del controlador Jenkins. Incluso aquellos sin estos permisos podrían leer las primeras líneas de los archivos, según Jenkins.
«Esto permite a los atacantes leer archivos arbitrarios en el sistema de archivos del controlador Jenkins utilizando la codificación de caracteres predeterminada del proceso del controlador Jenkins».
Según investigadores de SonarSource, los actores de amenazas podrían explotar la vulnerabilidad para leer los secretos de Jenkins con el fin de «escalar privilegios de administrador y, finalmente, ejecutar código arbitrario en el servidor».
Jenkins se describe como una de las ofertas de servidores de automatización de código abierto más populares y ampliamente utilizadas para crear, implementar y automatizar proyectos de software. Tiene una cuota de mercado de alrededor del 44% en el espacio de software de Integración Continua y Despliegue Continuo (CI/CD), según SonarSource.
Si un atacante pudiera obtener control remoto de estos entornos de desarrollo, en teoría podría plantar código malicioso en nuevas compilaciones de software para usarlo en ataques a la cadena de suministro digital.
Las búsquedas de Shodan revelan más de 75.000 servidores Jenkins expuestos y sin parches en todo el mundo. Los exploits se publicaron en GitHub durante la última semana de enero.