fix(html): check link schemes the way browsers read them
FastSanitize checks the scheme with URI.parse/1, which finds none in java<TAB>script:alert(1). Browsers remove tabs and newlines and leading control characters first and run it as a javascript: link. The scrubbers now use Pleroma.HTML.URIAttributes, which normalizes the URL the same way before the scheme check.
This commit is contained in:
parent
58d4f6aa2c
commit
1be50ed28b
6 changed files with 95 additions and 5 deletions
1
changelog.d/scrubber-hidden-schemes.security
Normal file
1
changelog.d/scrubber-hidden-schemes.security
Normal file
|
|
@ -0,0 +1 @@
|
|||
Scrubbers: remove links and images whose scheme is hidden with tabs, newlines or leading control characters (for example java<TAB>script:), which browsers still run as javascript:. Custom scrubbers should use Pleroma.HTML.URIAttributes.allow_tag_with_uri_attributes instead of the FastSanitize macro
|
||||
Loading…
Add table
Add a link
Reference in a new issue