Vulnerabilidad en Gradle (CVE-2021-32751)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-78
Neutralización incorrecta de elementos especiales usados en un comando de sistema operativo (Inyección de comando de sistema operativo)
Fecha de publicación:
20/07/2021
Última modificación:
30/07/2021
Descripción
Gradle es una herramienta de construcción con un enfoque en la automatización de la construcción. En versiones anteriores a la 7.2, los scripts de inicio generados por el plugin `application` y el script `gradlew` son vulnerables a la ejecución de código arbitrario cuando un atacante es capaz de cambiar las variables de entorno del usuario que ejecuta el script. Esto puede afectar a aquellos que utilizan `gradlew` en sistemas tipo Unix o utilizan los scripts generados por Gradle en su aplicación en sistemas tipo Unix. Para que esta vulnerabilidad sea explotable, un atacante debe ser capaz de establecer el valor de determinadas variables de entorno y hacer que esas variables de entorno sean vistas por los scripts vulnerables. Este problema ha sido parcheado en Gradle 7.2 eliminando el uso de `eval` y requiriendo el uso del shell `bash`. Hay algunas soluciones disponibles. Para los sistemas CI/CD que utilizan la herramienta de construcción Gradle, se puede asegurar que los usuarios no confiables no puedan cambiar las variables de entorno para el usuario que ejecuta `gradlew`. Si no se puede actualizar a Gradle 7.2, se puede generar un nuevo script `gradlew` con Gradle 7.2 y utilizarlo para versiones anteriores de Gradle. En las aplicaciones que utilizan scripts de inicio generados por Gradle, se puede asegurar que los usuarios no confiables no puedan cambiar las variables de entorno del usuario que ejecuta el script de inicio. Un script de inicio vulnerable podría ser parcheado manualmente para eliminar el uso de `eval` o el uso de variables de entorno que afectan a la línea de comandos de la aplicación. Si la aplicación es lo suficientemente simple, se puede evitar el uso de los scripts de inicio ejecutando la aplicación directamente con el comando Java
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Puntuación base 2.0
8.50
Gravedad 2.0
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:gradle:gradle:*:*:*:*:*:*:*:* | 7.2 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



