jsoup may not sanitize code injection XSS attempts if SafeList.preserveRelativeLinks is enabled
Résumé
jsoup may not sanitize code injection XSS attempts if SafeList.preserveRelativeLinks is enabled
Description d'origine
La description telle que publiée par la source (souvent en anglais).
jsoup may incorrectly sanitize HTML including javascript: URL expressions, which could allow cross-site scripting (XSS) attacks when a reader subsequently clicks that link. If the non-default SafeList.preserveRelativeLinks option is enabled, HTML including javascript: URLs that have been crafted with control characters will not be sanitized. If the site that this HTML is published on does not set a Content Security Policy, an XSS attack is then possible.
Impact
Sites that accept input HTML from users and use jsoup to sanitize that HTML, may be vulnerable to cross-site scripting (XSS) attacks, if they have enabled SafeList.preserveRelativeLinks and do not set an appropriate Content Security Policy.
Patches
This issue is patched in jsoup 1.15.3.
Users should upgrade to this version. Additionally, as the unsanitized input may have been persisted, old content should be cleaned again using the updated version.
Workarounds
To remediate this issue without immediately upgrading:
- disable
SafeList.preserveRelativeLinks, which will rewrite input URLs as absolute URLs - ensure an appropriate Content Security Policy is defined. (This should be used regardless of upgrading, as a defence-in-depth best practice.)
Background and root cause
jsoup includes a Cleaner component, which is designed to [sanitize input HTML](https://jsoup.org/cookbook/c…
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Paquets affectés
État des correctifs par distribution
Paquets corrigés publiés par chaque distribution pour cette CVE
- Debian DEBIAN-CVE-2022-36033 jsoup
- Ubuntu UBUNTU-CVE-2022-36033 jsoup
Références
- advisory nvd.nist.gov
- package github.com
- web github.com
- web github.com
- web jsoup.org
- web security.netapp.com