fix(aspera): agent potentially unsafe quoting #14
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.
ibmcloud-cos-cli/aspera/agent.go
Lines 157 to 173 in 1576fb4
Fix the issue should avoid directly embedding
jsonPathsinto thedatastring usingfmt.Sprintf. Instead, we can construct the JSON object in a structured manner using Go's native JSON handling capabilities. This approach ensures that all special characters are properly escaped and avoids the risk of injection.Specifically:
fmt.Sprintfconstruction of thedatastring with a structured approach using Go'smapor struct types.json.Marshalto serialize the entiredataobject into a JSON string, ensuring proper escaping and formatting.References
SQL injection
Command Injection
CWE-78
CWE-89
CWE-94