← volver
CVE-2023-52137

GitHub Action tj-actions/verify-changed-files is vulnerable to command injection in output filenames

CVSS 7.7 HIGHEPSS 2.6%CWE-20
En resumen

Una acción de GitHub que verifica archivos modificados puede ser engañada para ejecutar comandos maliciosos si los nombres de archivo contienen caracteres especiales como punto y coma. Un atacante podría usar esto para robar secretos o tomar control del servidor de compilación.

Detalle técnico

Vulnerabilidad de inyección de comandos en tj-actions/verify-changed-files donde nombres de archivo sin escape en la salida de la acción se sustituyen directamente en bloques de ejecución de shell. Vector de ataque requiere nombres de archivo con metacaracteres de shell (ej: `;`) en un repositorio; el impacto incluye ejecución de código arbitrario y potencial fuga de credenciales si GITHUB_TOKEN es accesible. Mitigado en v17+ al habilitar safe_output y escapar caracteres especiales.

Resumen generado y traducido por IA a partir de la descripción oficial.
The [`tj-actions/verify-changed-files`](https://github.com/tj-actions/verify-changed-files) action allows for command injection in changed filenames, allowing an attacker to execute arbitrary code and potentially leak secrets. The [`verify-changed-files`](https://github.com/tj-actions/verify-changed-files) workflow returns the list of files changed within a workflow execution. This could potentially allow filenames that contain special characters such as `;` which can be used by an attacker to take over the [GitHub Runner](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) if the output value is used in a raw fashion (thus being directly replaced before execution) inside a `run` block. By running custom commands, an attacker may be able to steal secrets such as `GITHUB_TOKEN` if triggered on other events than `pull_request`. This has been patched in versions [17](https://github.com/tj-actions/verify-changed-files/releases/tag/v17) and [17.0.0](https://github.com/tj-actions/verify-changed-files/releases/tag/v17.0.0) by enabling `safe_output` by default and returning filename paths escaping special characters for bash environments.
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:L/A:L

¿Quieres saber si tu infraestructura está expuesta a esto?

Hablar con TrueHacking →