The embano1/wip
action uses the github.event.pull_request.title
parameter in an insecure way. The title parameter is used in a run statement - resulting in a command injection vulnerability due to string interpolation.
This vulnerability can be triggered by any user on GitHub. They just need to create a pull request with a commit message containing an exploit. (Note that first-time PR requests will not be run - but the attacker can submit a valid PR before submitting an invalid PR). The commit can be genuine, but the commit message can be malicious.
This can be used to execute code on the GitHub runners (potentially use it for crypto-mining, and waste your resources) and can be used to exfiltrate any secrets that you use in the CI pipeline (including repository tokens). Here is a set of blog posts by Github's security team explaining this issue.
Replace the following line in your workflow using this action with the v2
branch name or commit pointing to this branch:
uses: embano1/wip@v2
Or using the exact commit:
uses: embano1/wip@c25450f77ed02c20d00b76ee3b33ff43838739a2 # v2
{ "nvd_published_at": "2023-04-24T22:15:09Z", "cwe_ids": [ "CWE-77" ], "severity": "HIGH", "github_reviewed": true, "github_reviewed_at": "2023-04-24T22:32:32Z" }