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.
Reasons for creating this PR
I noticed that the FILTER_UNSAFE_RAW input filter was still used once in the Controller, for processing the name of the JSONP callback method/function. As the name implies, this filter is unsafe by design. In PR #1385, other input filters were changed but not this one. I don't see why a stricter filter couldn't be used here, because JSONP callbacks are typically just alphanumeric function names, so this PR switches to FILTER_SANITIZE_FULL_SPECIAL_CHARS.
In practice, this is very unlikely to be exploitable at least in the normal JSONP usage scenario (which itself has gone out of fashion as applications have switched to CORS). The application constructing the JSONP URL already has full control of the JS environment, so being able to run arbitrary JS code via the callback method name doesn't add any new capabilities. But better safe than sorry, and maybe code scanning tools will be happier.
Link to relevant issue(s), if any
Description of the changes in this PR
Known problems or uncertainties in this PR
This needs to be adapted to Skosmos 3 as well and applied to the
skosmos-3
branch.Checklist
.sr-only
class, color contrast)