fix(codeSign) esrp shell command built from environment values #3454
+8
−2
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.
headlamp/app/scripts/esrp.js
Line 9 in ff50a9e
headlamp/app/scripts/esrp.js
Line 221 in ff50a9e
Fix the issue the dynamically constructed shell command should be replaced with a safer approach that avoids shell interpretation. Specifically, the
execSync
call should be replaced withexecFileSync
, which allows passing arguments as an array. This ensures that special characters in the input are treated as literal values and do not alter the command's behavior.implement the fix:
execSync
call on line 221 withexecFileSync
.Sign
) and its arguments (-l Verbose
,-a
,authJson
,-p
,policyJson
,-i
,signInputJson
) as separate elements in an array.authJson
,policyJson
,signInputJson
) are validated or sanitized before use.