[Process] Update PHPDoc to use proper placeholder syntax #45197
Merged
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.
I'd like to add this PHPDoc comment to help make sure
Process::fromShellCommandline
is used securely. The other day, one of the developers at my company wrote some code that was roughly like:Since
$fileName
is user input, he thought he was doing the secure thing by using placeholders. The issue is that a malicious user could have utilized the-exec
option offind
to gain arbitrary code execution, for example$fileName = '. -exec echo Foo! ;'
. This can be fixed by simply surrounding$FILENAME
with double quotes because this passes the input as a single argument tofind
instead of passing it as multiple arguments. I believe there are enough programs out there that can be manipulated if an attacker is able to control multiple arguments that it's worth putting a warning here to help prevent the mistake of not surrounding placeholders with quotes.