Fixes Incomplete URL substring sanitization vulnerability detected by CodeQL #3521
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.
Description
The fix parse a URL before performing a check on its host value, and ensure that the check handles arbitrary subdomain sequences correctly.
hostname === 'mifos.io'
will check if the hostname is exactly 'mifos.io'.domains.slice(-2).join('.') === 'mifos.io'
will check if the last two parts of the hostname (split by '.') are 'mifos.io'.indexOf
anymore and therefore is not vulnerable to URL spoofing attacks that were possible with the original code.endsWith
method to check if the hostname ends with 'mifos.io'.Related issues and discussion
#3520
Screenshots, if any
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!
[] Validate the JS and HTML files with
grunt validate
to detect errors and potential problems in JavaScript code.giving network error "grunt validate" giving network error #3519
[] Run the tests by opening
test/SpecRunner.html
in the browser to make sure you didn't break anything.If you have multiple commits please combine them into one commit by squashing them.
Read and understood the contribution guidelines at
community-app/Contributing.md
.