← back
CVE-2023-49291

Improper Sanitization of Branch Name Leads to Arbitrary Code Injection

CVSS 9.3 CRITICALEPSS 1.4%CWE-20
In short

A GitHub Actions tool fails to properly sanitize branch names, allowing attackers to inject and execute arbitrary code by creating a specially crafted branch name. This can lead to theft of secrets or misuse of GitHub token permissions.

Technical detail

The tj-actions/branch-names action improperly handles the github.event.pull_request.head.ref and github.head_ref context variables within a run step, failing to sanitize branch names before shell execution. An attacker can craft a malicious branch name to achieve arbitrary code injection and potentially exfiltrate secrets or escalate permissions through GITHUB_TOKEN abuse.

Summary generated and translated by AI from the official description.
tj-actions/branch-names is a Github action to retrieve branch or tag names with support for all events. The `tj-actions/branch-names` GitHub Actions improperly references the `github.event.pull_request.head.ref` and `github.head_ref` context variables within a GitHub Actions `run` step. The head ref variable is the branch name and can be used to execute arbitrary code using a specially crafted branch name. As a result an attacker can use this vulnerability to steal secrets from or abuse `GITHUB_TOKEN` permissions. This vulnerability has been addressed in version 7.0.7. Users are advised to upgrade. There are no known workarounds for this vulnerability.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:H/A:N

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →