HexBrain

GitHub · Report #1625652

Delimiter injection in GitHub Actions core.exportVariable

Validstatus
mediumseverity
$4,617bounty
39upvotes
18 Aug 2022disclosed

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.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original