Potential fix for code scanning alert no. 4: Code injection #34
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.
Potential fix for https://github.com/d-oit/gh-sub-issues/security/code-scanning/4
To fix the code injection vulnerability, we should pass the untrusted input (
github.event.comment.body) to the shell script via an environment variable, and then use shell-native variable expansion ($comment_body) in the script. Specifically, in the step "Handle sub-issue creation requests", move the assignment ofcomment_bodyfrom the shell script to theenv:section of the step. In the script, reference$comment_bodyas a shell variable. This prevents code injection because the shell will treat the value as a literal string, not as code to be executed.Required changes:
comment_bodyfrom the script to theenv:section.$comment_bodyinstead of assigning it.$comment_bodyare properly quoted.Suggested fixes powered by Copilot Autofix. Review carefully before merging.