jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.
jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.
This vulnerability is potentially used
```
org.owasp.webgoat.lessons.xss.CrossSiteScriptingLesson3 (Application)
-> org.jsoup.Jsoup (Extension)
-> org.jsoup.nodes.Document$OutputSettings (Extension)
-> org.jsoup.nodes.Entities (Extension)
-> ❌ org.jsoup.internal.StringUtil (Vulnerable Component)
```
### Vulnerability Details
jsoup is a Java HTML parser, built for HTML editing, cleaning, scraping, and cross-site scripting (XSS) safety. jsoup may incorrectly sanitize HTML including `javascript:` URL expressions, which could allow 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. 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. To remediate this issue without immediately upgrading: - disable `SafeList.preserveRelativeLinks`, which will rewrite input URLs as absolute URLs - ensure an appropriate [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) is defined. (This should be used regardless of upgrading, as a defence-in-depth best practice.)
Vulnerable Library - jsoup-1.14.3.jar
jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.
Library home page: https://jsoup.org/
Found in HEAD commit: 9f4c24e26919895f930725d34ee21d9b2b7fa77d
Vulnerabilities
**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation
Details
CVE-2022-36033
### Vulnerable Library - jsoup-1.14.3.jarjsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors. jsoup implements the WHATWG HTML5 specification, and parses HTML to the same DOM as modern browsers do.
Library home page: https://jsoup.org/
Dependency Hierarchy: - :x: **jsoup-1.14.3.jar** (Vulnerable Library)
Found in HEAD commit: 9f4c24e26919895f930725d34ee21d9b2b7fa77d
Found in base branch: main
### Reachability AnalysisThis vulnerability is potentially used ``` org.owasp.webgoat.lessons.xss.CrossSiteScriptingLesson3 (Application) -> org.jsoup.Jsoup (Extension) -> org.jsoup.nodes.Document$OutputSettings (Extension) -> org.jsoup.nodes.Entities (Extension) -> ❌ org.jsoup.internal.StringUtil (Vulnerable Component) ```
### Vulnerability Detailsjsoup is a Java HTML parser, built for HTML editing, cleaning, scraping, and cross-site scripting (XSS) safety. jsoup may incorrectly sanitize HTML including `javascript:` URL expressions, which could allow 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. 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. To remediate this issue without immediately upgrading: - disable `SafeList.preserveRelativeLinks`, which will rewrite input URLs as absolute URLs - ensure an appropriate [Content Security Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP) is defined. (This should be used regardless of upgrading, as a defence-in-depth best practice.)
Publish Date: 2022-08-29
URL: CVE-2022-36033
### CVSS 3 Score Details (6.1)Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: Required - Scope: Changed - Impact Metrics: - Confidentiality Impact: Low - Integrity Impact: Low - Availability Impact: None
For more information on CVSS3 Scores, click here. ### Suggested FixType: Upgrade version
Origin: https://github.com/jhy/jsoup/security/advisories/GHSA-gp7f-rwcx-9369
Release Date: 2022-08-29
Fix Resolution: 1.15.3