263 palabras
1 minutos
CVE-2024-23897 - Jenkins 2.441 Arbitrary File Leak
2024-09-08

En este post vamos a analizar este CVE de Jenkins y miraremos por qué sucede y cómo funciona todo por detrás.

Este CVE afecta a la versión 2.441 y anteriores de Jenkins.


¿Qué es Arbitrary File Leak?#

Arbitrary File Leak (Fuga Arbitraria de Archivos) es una vulnerabilidad de seguridad que permite a un atacante acceder y leer archivos arbitrarios del sistema de archivos de un servidor o dispositivo sin autorización.


CVE-2024-23897#

Este CVE afecta a Jenkins y se debe a una vulnerabilidad en la interfaz de línea de comandos (CLI) de Jenkins. La herramienta utiliza la biblioteca args4j para procesar los argumentos de los comandos CLI, la cual tiene una funcionalidad que, al encontrar un carácter @ seguido de una ruta de archivo, reemplaza esa entrada con el contenido del archivo especificado.

Esto permite a un atacante leer archivos arbitrarios en el sistema del controlador Jenkins utilizando la codificación predeterminada del proceso Jenkins.


Impacto#

  • Lectura de archivos sensibles: Un atacante con permiso Overall/Read puede leer archivos completos. Sin este permiso, solo puede leer las primeras líneas de un archivo.

  • Exposición de claves criptográficas: Archivos binarios con claves criptográficas también pueden ser expuestos, con ciertas limitaciones.

  • Ejecución remota de código (RCE): Si un atacante puede acceder a claves criptográficas, podría ejecutar código remotamente aprovechando otras funciones de Jenkins.


Mitigación#

  • Actualizar Jenkins: Se recomienda actualizar a Jenkins 2.442 o LTS 2.426.3, donde esta funcionalidad ha sido desactivada.

  • Deshabilitar el CLI: Desactivar la CLI es una solución alternativa en caso de no poder actualizar inmediatamente.


Prueba de Concepto (PoC)#

Subi una script a mi github el cual explota este CVE de forma mas automatizada, si quieres le puedes echar un ojo.

https://github.com/mil4ne/CVE-2024-23897-Jenkins-4.441/