GitHub Advisoryadvisory · GitHub Actions

GHSA-6q4m-7476-932w github-slug-action vulnerable to arbitrary code execution

HIGH Published 2023-03-13 Modified 2025-02-18 Official page ↗
Aliases
CVE-2023-27581
Ecosystem
GitHub Actions
Packages
rlespinasse/github-slug-action
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-77
Reviewed
2023-03-13

Affected packages

• GitHub Actions rlespinasse/github-slug-action: >= 4.0.0, < 4.4.1 → fixed in 4.4.1

Description

Impact 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. (Note that first-time PR requests will not be run - but the attacker can submit a valid PR before submitting an invalid PR). This can be used to execute code on the GitHub runners (potentially use it for crypto-mining, and waste your resources) and to exfiltrate any secrets you use in the CI pipeline. Patches > Pass the variable as an environment variable and then use the environment variable instead of substituting it directly. Patched action is available on tag v4, tag v4.4.1, and any tag beyond. Workarounds No workaround is available if impacted, please upgrade the version > ℹ️ v3 and v4 are compatibles. References Here is a set of blog posts by Github's security team explaining this issue. Thanks Thanks to the team of researchers from Purdue University, who are working on finding vulnerabilities in CI/CD configurations of open-source software. Their tool detected this security vulnerability.

Related

Alias · CVE (1)

  • CVE-2023-27581 github-slug-action is a GitHub Action to expose slug value of GitHub environment variables inside of one's GitHub workflow. vulnerability

Weakness · CWE (1)

  • CWE-77 Improper Neutralization of Special Elements used in a Command weakness

References