CVE-2023-27581 github-slug-action vulnerable to arbitrary code execution
Attackers can execute arbitrary code and steal secrets on GitHub runners by injecting payloads into pull request branch names.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-27581?
CVE-2023-27581 is a high-severity command injection vulnerability in rlespinasse github-slug-action, published on 13 Mar 2023. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
github-slug-action is a GitHub Action to expose slug value of GitHub environment variables inside of one's GitHub workflow. Starting in version 4.0.0` and prior to version 4.4.1, this action uses the `github.head_ref` parameter in an insecure way. This vulnerability can be triggered by any user on GitHub on any workflow using the action on pull requests. They just need to create a pull request with a branch name, which can contain the attack payload. This can be used to execute code on the GitHub runners and to exfiltrate any secrets one uses in the CI pipeline. A patched action is available in version 4.4.1. No workaround is available.
Weakness: CWE-77
Which versions are affected by CVE-2023-27581?
1 open source package ship an affected version, including rlespinasse/github-slug-action. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
rlespinasse/github-slug-action GitHub Actions | From 4.0.0 | 4.4.1 |
Products include Github-Slug-Action Project Github-Slug-Action.
How do I fix CVE-2023-27581?
Upgrade rlespinasse/github-slug-action to 4.4.1 or later.
Upgrade, and pass arguments to programs as a list instead of through a shell. More about Command injection.
Is CVE-2023-27581 being exploited?
There is no known exploitation of CVE-2023-27581 in the wild and no public exploit code.
Sources
Also known as GHSA-6q4m-7476-932w.