Every CVE Search/ Get API key

CVE-2026-71497

jsoup: Cleaner may expose markup with custom raw-text elements

4.7 MediumFix available

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

0.30%Up 0.1 points since Aug 7, 2026
90%50%10%1%

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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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 MediumCVSS: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

Affected packages
PackageAffectedFixed
org.jsoup:jsoup
Maven
1.14.3 up to 1.23.1
1.23.1
javapackages-bootstrap
Azure Linux:3
before 1.14.0-5
1.14.0-5
org.jsoup:jsoup
TuxCare:Maven
1.17.2 up to 1.17.2-tuxcare.1
1.17.2-tuxcare.1
org.jsoup:jsoup
TuxCare:Maven
1.13.1 up to 1.13.1-tuxcare.1
1.13.1-tuxcare.1
jsoup
Debian:12
All versions, plus listed versions
1.15.3-11.23.2-11.23.2-2
None known
jsoup
Debian:13
All versions, plus listed versions
1.15.3-11.23.2-11.23.2-2
None known
jsoup
Debian:14
before 1.23.2-1, plus listed versions
1.15.3-1
1.23.2-1
org.jsoup:jsoup
Maven
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 less
1.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:jsoup
Root:Maven
before 1.23.1-aikido.1
1.23.1-aikido.1
io.root.org.jsoup:jsoup
Root:Maven
before 1.23.1-root.io.1
1.23.1-root.io.1
Show 8 moreShow less
Affected packages
PackageAffectedFixed
jsoup
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
1.7.2-11.7.3-11.7.3-1ubuntu0.1~esm2
None known
jsoup
Ubuntu:16.04:LTS
All versions, plus listed versions
1.8.3-1
None known
jsoup
Ubuntu:18.04:LTS
All versions, plus listed versions
1.10.2-11.10.2-2
None known
jsoup
Ubuntu:20.04:LTS
All versions, plus listed versions
1.10.2-2
None known
jsoup
Ubuntu:22.04:LTS
All versions, plus listed versions
1.10.2-21.14.3-1
None known
jsoup
Ubuntu:24.04:LTS
All versions, plus listed versions
1.15.3-1
None known
jsoup
Ubuntu:26.10
All versions, plus listed versions
1.15.3-1build1
None known
jsoup
Ubuntu:26.04:LTS
All versions, plus listed versions
1.15.3-11.15.3-1build1
None known

History

History
WhenChangedSources
2026-11-03affected, aliases, factsOSV
2026-11-02createdCVE List, EUVD, GitHub Advisories, NVD, OSV

References

Show 5 moreShow less
MoveEnter Open