fix: unsafe shell command constructed from library input #2455
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.
mongosh/packages/editor/src/editor.ts
Lines 243 to 246 in e9bfb2b
fix the issue should avoid using
shell: true
and instead pass the command and its arguments as an array to thespawn
function. This ensures that the arguments are not interpreted by the shell, mitigating the risk of shell injection. Specifically:spawn
call with a version that does not useshell: true
.spawn
.This approach ensures that the command is executed directly without shell interpretation, making it safe from injection attacks.