GitHub · Report #1625652
Delimiter injection in GitHub Actions core.exportVariable
Summary
The GitHub Actions ToolKit provides a set of packages to make creating actions easier. The core.exportVariable function uses a well known delimiter that attackers can use to break out of that specific variable and assign values to other arbitrary variables. Workflows that write untrusted values to the GITHUB_ENV file may cause the path or other environment variables to be modified without the intention of the workflow or action author. Users should upgrade to @actions/core v1.9.1. If you are unable to upgrade the @actions/core package, you can modify your action to ensure that any user input does not contain the delimiter _GitHubActionsFileCommandDelimeter_ before calling core.exportVariable.
CVE-2022-35954
Poor delimiter handling in @actions/core led to a remote attacker being able to define arbitrary environment variables. In a separate report, #1637621, remote code execution in the GitHub Actions runner enabled by this bug was demonstrated.
How it was found
The write-up for this report has not been downloaded yet, or the program disclosed it without one. Read it on HackerOne.