fix(github-action)!: resolve command injection vulnerability in action script #56
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.
Purpose
Rationale
Prevents the malicious execution of arbitrary code when a command injection is defined in the action yaml as part of the action parameter specification. Low impact exploitation if proper least privilege is implemented and pull request code is reviewed before merging to a release branch.
Includes a breaking change as the
root_options
action input parameter has been removed because it created a command injection vulnerability for arbitrary code to execute within the container context of the GitHub action if a command injection code was provided as part of theroot_options
parameter string. To eliminate the vulnerability, each relevant option that can be provided tosemantic-release
has been individually added as its own parameter and will be processed individually to prevent command injection. Please review ourGithub Actions Configuration
page on the Python Semantic Release Documentation website to review the newly available configuration options that replace theroot_options
parameter.How did you test?
Added an additional test to run the github action simulator with the new parameter
config_file
.