Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en tj-actions/verify-changed-files (CVE-2023-52137)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-77 Neutralización incorrecta de elementos especiales usados en un comando (Inyección de comando)
Fecha de publicación:
29/12/2023
Última modificación:
10/01/2024

Descripción

La acción [`tj-actions/verify-changed-files`](https://github.com/tj-actions/verify-changed-files) permite la inyección de comandos en nombres de archivos modificados, lo que permite a un atacante ejecutar código arbitrario y potencialmente filtrar secretos. El workflow [`verify-changed-files`](https://github.com/tj-actions/verify-changed-files) devuelve la lista de archivos modificados dentro de una ejecución de flujo de trabajo. Potencialmente, esto podría permitir nombres de archivos que contengan caracteres especiales como `;` que un atacante puede utilizar para hacerse cargo de [GitHub Runner](https://docs.github.com/en/actions/using-github-hosted- runners/about-github-hosted-runners) si el valor de salida se usa sin formato (por lo tanto, se reemplaza directamente antes de la ejecución) dentro de un bloque "run". Al ejecutar comandos personalizados, un atacante puede robar secretos como `GITHUB_TOKEN` si se activan en otros eventos distintos de `pull_request`. Esto ha sido parcheado en las versiones [17](https://github.com/tj-actions/verify-changed-files/releases/tag/v17) y [17.0.0](https://github.com/tj -actions/verify-changed-files/releases/tag/v17.0.0) habilitando `safe_output` de forma predeterminada y devolviendo rutas de nombres de archivos que escapan de caracteres especiales para entornos bash.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:tj-actions:verify-changed-files:*:*:*:*:*:github:*:* 17.0.0 (excluyendo)