CVE-2025-54416 json
tj-actions/branch-names Contains Command Injection Vulnerability
published last yr. modified last mo. also EUVD-2025-22774 , GHSA-gq52-6phf-x2r6
- cvss
- 9.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 52%
- public exploits
- 0
- none known
Summary
tj-actions/branch-names is a Github actions repository that contains workflows to retrieve branch or tag names with support for all events. In versions 8.2.1 and below, a critical vulnerability has been identified in the tj-actions/branch-names' GitHub Action workflow which allows arbitrary command execution in downstream workflows. This issue arises due to inconsistent input sanitization and unescaped output, enabling malicious actors to exploit specially crafted branch names or tags. While internal sanitization mechanisms have been implemented, the action outputs remain vulnerable, exposing consuming workflows to significant security risks. This is fixed in version 9.0.0
Patch / fix
- github-actions tj-actions/branch-names 9.0.0
- tj-actions branch-names 9.0.0
Is CVE-2025-54416 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- last yr.
Exploit prediction
0.68% chance of exploitation in the next 30 days, higher than 52% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/tj-actions/branch-names/security/advisories/GHSA-gq52-6phf-x2r6 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L |
| GitHub | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| github-actions | tj-actions/branch-names | <9.0.0 |
9.0.0 |
Affected products
- tj-actions branch-names
Classification
- Weakness
-
- CWE-77 Improper Neutralization of Special Elements used in a Command
References
-
github.com
/tj-actions/branch-names/commit/e497ceb8ccd43fd9573cf2e375216625bc411d1f
web
-
github.com
/tj-actions/branch-names/security/advisories/GHSA-gq52-6phf-x2r6
exploit, web
-
github.com
/tj-actions/branch-names/releases/tag/v9.0.0
web
-
github.com
/tj-actions/branch-names/security/advisories/GHSA-8v8w-v8xg-79rf
web
-
github.com
/tj-actions/changed-files/security/advisories/GHSA-mcph-m25j-8j63
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-54416
advisory
-
github.blog
/security/application-security/how-to-secure-your-github-actions-workflows-with-codeql
web
-
github.com
/tj-actions/branch-names
package
-
securitylab.github.com
/resources/github-actions-untrusted-input
web
Sources
- CVE List CVE-2025-54416
- GitHub Advisory GHSA-gq52-6phf-x2r6
- NVD CVE-2025-54416
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.