CVE-2026-71497
jsoup: Cleaner may expose markup with custom raw-text elements
CVE-2026-71497 is a medium vulnerability (CVSS 4.7) in Jhy Jsoup, published August 6, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.30%, the 22nd percentile. Fixed in org.jsoup:jsoup 1.23.1.
jsoup is a Java library for working with real-world HTML. From 1.14.3 until 1.23.1, jsoup's HTML parser could incorrectly handle a malformed tag name ending in a control character, causing the tag to acquire the parsing behavior of a different element. When a custom Safelist permits certain raw-text elements, this misparsing can cause content that should remain inert text to be emitted as active markup after serialization, potentially resulting in cross-site scripting. jsoup's built-in Safelists are not affected. This issue is fixed in version 1.23.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
4.7
jsoup: Cleaner may expose markup with custom raw-text elements
jsoup is a Java library for working with real-world HTML. From 1.14.3 until 1.23.1, jsoup's HTML parser could incorrectly handle a malformed tag name ending in a control character, causing the tag to acquire the parsing behavior of a different element. When a custom Safelist permits certain raw-text elements, this misparsing can cause content that should remain inert text to be emitted as active markup after serialization, potentially resulting in cross-site scripting. jsoup's built-in Safelists are not affected. This issue is fixed in version 1.23.1.
- Record
CVE-2026-71497- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2026-54153
4.7
jsoup is a Java library for working with real-world HTML. From 1.14.3 until 1.23.1, jsoup's HTML parser could incorrectly handle a malformed tag name ending in a control character, causing the tag to acquire the parsing behavior of a different element. When a custom Safelist permits certain raw-text elements, this misparsing can cause content that should remain inert text to be emitted as active markup after serialization, potentially resulting in cross-site scripting. jsoup's built-in Safelists are not affected. This issue is fixed in version 1.23.1.
- Record
EUVD-2026-54153- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-pmhh-3w7g-xqp8
4.7
jsoup: Cleaner may expose markup with custom raw-text elements
When a custom Safelist permits certain raw-text elements, jsoup may incorrectly sanitize malformed HTML containing a tag name that ends in a control character. The tag may acquire the parsing behavior of a different element, causing content that should remain text to be emitted as active markup after serialization and potentially allowing XSS.
jsoup’s built-in Safelists are unaffected.
Patches
Upgrade to jsoup 1.23.1.
Workarounds
Until upgrading, do not permit raw-text elements in custom Safelists used to clean untrusted HTML.
Additional security considerations
This fix addresses malformed tag-name handling only.
Permitting raw-text elements in a custom Safelist does not make their contents inherently safe. For example, applications that permit style must apply appropriate CSS safeguards separately, because jsoup does not parse or sanitize CSS.
- Record
GHSA-pmhh-3w7g-xqp8- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
NVD
4.7
jsoup is a Java library for working with real-world HTML. From 1.14.3 until 1.23.1, jsoup's HTML parser could incorrectly handle a malformed tag name ending in a control character, causing the tag to acquire the parsing behavior of a different element. When a custom Safelist permits certain raw-text elements, this misparsing can cause content that should remain inert text to be emitted as active markup after serialization, potentially resulting in cross-site scripting. jsoup's built-in Safelists are not affected. This issue is fixed in version 1.23.1.
- Record
CVE-2026-71497- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
4.7
jsoup: Cleaner may expose markup with custom raw-text elements
jsoup is a Java library for working with real-world HTML. From 1.14.3 until 1.23.1, jsoup's HTML parser could incorrectly handle a malformed tag name ending in a control character, causing the tag to acquire the parsing behavior of a different element. When a custom Safelist permits certain raw-text elements, this misparsing can cause content that should remain inert text to be emitted as active markup after serialization, potentially resulting in cross-site scripting. jsoup's built-in Safelists are not affected. This issue is fixed in version 1.23.1.
- Record
CVE-2026-71497- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-71497
4.7
jsoup is a Java library for working with real-world HTML. From 1.14.3 until 1.23.1, jsoup's HTML parser could incorrectly handle a malformed tag name ending in a control character, causing the tag to acquire the parsing behavior of a different element. When a custom Safelist permits certain raw-text elements, this misparsing can cause content that should remain inert text to be emitted as active markup after serialization, potentially resulting in cross-site scripting. jsoup's built-in Safelists are not affected. This issue is fixed in version 1.23.1.
- Record
DEBIAN-CVE-2026-71497- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
Show 6 moreShow less
OSVGHSA-pmhh-3w7g-xqp8
4.7
jsoup: Cleaner may expose markup with custom raw-text elements
When a custom Safelist permits certain raw-text elements, jsoup may incorrectly sanitize malformed HTML containing a tag name that ends in a control character. The tag may acquire the parsing behavior of a different element, causing content that should remain text to be emitted as active markup after serialization and potentially allowing XSS.
jsoup’s built-in Safelists are unaffected.
Patches
Upgrade to jsoup 1.23.1.
Workarounds
Until upgrading, do not permit raw-text elements in custom Safelists used to clean untrusted HTML.
Additional security considerations
This fix addresses malformed tag-name handling only.
Permitting raw-text elements in a custom Safelist does not make their contents inherently safe. For example, applications that permit style must apply appropriate CSS safeguards separately, because jsoup does not parse or sanitize CSS.
- Record
GHSA-pmhh-3w7g-xqp8- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-71497
4.7
jsoup is a Java library for working with real-world HTML. From 1.14.3 until 1.23.1, jsoup's HTML parser could incorrectly handle a malformed tag name ending in a control character, causing the tag to acquire the parsing behavior of a different element. When a custom Safelist permits certain raw-text elements, this misparsing can cause content that should remain inert text to be emitted as active markup after serialization, potentially resulting in cross-site scripting. jsoup's built-in Safelists are not affected. This issue is fixed in version 1.23.1.
- Record
UBUNTU-CVE-2026-71497- CVSS 3.1
- 4.7 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
OSVAZL-95475 No score
CVE-2026-71497 affecting package javapackages-bootstrap for versions less than 1.14.0-5
jsoup is a Java library for working with real-world HTML. From 1.14.3 until 1.23.1, jsoup's HTML parser could incorrectly handle a malformed tag name ending in a control character, causing the tag to acquire the parsing behavior of a different element. When a custom Safelist permits certain raw-text elements, this misparsing can cause content that should remain inert text to be emitted as active markup after serialization, potentially resulting in cross-site scripting. jsoup's built-in Safelists are not affected. This issue is fixed in version 1.23.1.
- Record
AZL-95475- Updated
- 2026-11-02
OSVCLSA-2026-1787667194 No score
TuxCare security update for org.jsoup:jsoup (1 CVE)
TuxCare rebuilt org.jsoup:jsoup to address 1 CVE. Fixed in 1.17.2-tuxcare.1.
- Record
CLSA-2026-1787667194- Updated
- 2026-11-02
OSVCLSA-2026-1793719546 No score
TuxCare security update for org.jsoup:jsoup (2 CVEs)
TuxCare rebuilt org.jsoup:jsoup to address 2 CVEs. Fixed in 1.13.1-tuxcare.1.
- Record
CLSA-2026-1793719546- Updated
- 2026-11-03
OSVROOT-APP-MAVEN-CVE-2026-71497 No score
CVE-2026-71497 in org.jsoup:jsoup - Patched by Root
Root has patched CVE-2026-71497 in the org.jsoup:jsoup package for Root:Maven. Multiple fixed versions available.
- Record
ROOT-APP-MAVEN-CVE-2026-71497- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
org.jsoup:jsoupMaven |
1.14.3 up to 1.23.1 | 1.23.1 |
javapackages-bootstrapAzure Linux:3 |
before 1.14.0-5 | 1.14.0-5 |
org.jsoup:jsoupTuxCare:Maven |
1.17.2 up to 1.17.2-tuxcare.1 | 1.17.2-tuxcare.1 |
org.jsoup:jsoupTuxCare:Maven |
1.13.1 up to 1.13.1-tuxcare.1 | 1.13.1-tuxcare.1 |
jsoupDebian:12 |
All versions, plus listed versions 1.15.3-11.23.2-11.23.2-2 |
None known |
jsoupDebian:13 |
All versions, plus listed versions 1.15.3-11.23.2-11.23.2-2 |
None known |
jsoupDebian:14 |
before 1.23.2-1, plus listed versions 1.15.3-1 |
1.23.2-1 |
org.jsoup:jsoupMaven |
1.14.3 up to 1.23.1, plus listed versions 1.15.11.15.21.15.31.15.41.16.1 Show 12 moreShow less1.16.21.17.11.17.21.18.11.18.21.18.31.19.11.20.11.21.11.21.21.22.11.22.2 |
1.23.1 |
org.jsoup:jsoupRoot:Maven |
before 1.23.1-aikido.1 | 1.23.1-aikido.1 |
io.root.org.jsoup:jsoupRoot:Maven |
before 1.23.1-root.io.1 | 1.23.1-root.io.1 |
Show 8 moreShow less
| Package | Affected | Fixed |
|---|---|---|
jsoupUbuntu:Pro:14.04:LTS |
All versions, plus listed versions 1.7.2-11.7.3-11.7.3-1ubuntu0.1~esm2 |
None known |
jsoupUbuntu:16.04:LTS |
All versions, plus listed versions 1.8.3-1 |
None known |
jsoupUbuntu:18.04:LTS |
All versions, plus listed versions 1.10.2-11.10.2-2 |
None known |
jsoupUbuntu:20.04:LTS |
All versions, plus listed versions 1.10.2-2 |
None known |
jsoupUbuntu:22.04:LTS |
All versions, plus listed versions 1.10.2-21.14.3-1 |
None known |
jsoupUbuntu:24.04:LTS |
All versions, plus listed versions 1.15.3-1 |
None known |
jsoupUbuntu:26.10 |
All versions, plus listed versions 1.15.3-1build1 |
None known |
jsoupUbuntu:26.04:LTS |
All versions, plus listed versions 1.15.3-11.15.3-1build1 |
None known |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-03 | affected, aliases, facts | OSV |
| 2026-11-02 | created | CVE List, EUVD, GitHub Advisories, NVD, OSV |