Conversation
|
|
gfellerph
approved these changes
Jan 3, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This PR contains the following updates:
v40->v41GitHub Vulnerability Alerts
CVE-2023-51664
Summary
The
tj-actions/changed-filesworkflow allows for command injection in changed filenames, allowing an attacker to execute arbitrary code and potentially leak secrets.Details
The
changed-filesaction returns a list of files changed in a commit or pull request which provides anescape_jsoninput enabled by default, only escapes"for JSON values.This could potentially allow filenames that contain special characters such as
;and ` (backtick) which can be used by an attacker to take over the GitHub Runner if the output value is used in a raw fashion (thus being directly replaced before execution) inside arunblock. By running custom commands an attacker may be able to steal secrets such asGITHUB_TOKENif triggered on other events thanpull_request. For example onpush.Proof of Concept
$(whoami).txtwhich is a valid filename.List all changed filesstep below.Example output:
Impact
This issue may lead to arbitrary command execution in the GitHub Runner.
Resolution
A new
safe_outputinput would be enabled by default and return filename paths escaping special characters like ;, ` (backtick), $, (), etc for bash environments.A safe recommendation of using environment variables to store unsafe outputs.
Resources
Release Notes
tj-actions/changed-files (tj-actions/changed-files)
v41Compare Source
Changes in v41.0.1
What's Changed
Full Changelog: tj-actions/changed-files@v41...v41.0.1
Changes in v41.0.0
🔥 🔥 BREAKING CHANGE 🔥 🔥
A new
safe_outputinput is now available to prevent outputting unsafe filename characters (Enabled by default). This would escape characters in the filename that could be used for command injection.Example
... - name: Get changed files id: changed-files uses: tj-actions/changed-files@v40 with: safe_output: false # set to false because we are using an environment variable to store the output and avoid command injection. - name: List all added files env: ADDED_FILES: ${{ steps.changed-files.outputs.added_files }} run: | for file in "$ADDED_FILES"; do echo "$file was added" done ...What's Changed
Full Changelog: tj-actions/changed-files@v40...v41.0.0
Configuration
📅 Schedule: Branch creation - "" in timezone Europe/Zurich, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.