{"id":"CVE-2026-71497","aliases":["AZL-95475","CLSA-2026-1787667194","CLSA-2026-1793719546","CLSA-2026-1793728512","CLSA-2026-1793728607","DEBIAN-CVE-2026-71497","EUVD-2026-54153","GHSA-pmhh-3w7g-xqp8","RHLW-2026-1af9ecf859c7dfb4","RHLW-2026-dc6bb5cbbfc647ed","ROOT-APP-MAVEN-CVE-2026-71497","UBUNTU-CVE-2026-71497"],"status":"published","title":"jsoup: Cleaner may expose markup with custom raw-text elements","description":"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.","severity":{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00296,"percentile":0.2246,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2026-08-06T21:09:31Z","modified":"2026-11-11T20:45:02Z","fixes":[{"ecosystem":"Maven","package":"org.jsoup:jsoup","fixed_in":["1.23.1"],"sources":["ghsa","osv"]},{"ecosystem":"Azure Linux:3","package":"javapackages-bootstrap","fixed_in":["1.14.0-5"],"sources":["osv"]},{"ecosystem":"TuxCare:Maven","package":"org.jsoup:jsoup","fixed_in":["1.17.2-tuxcare.1","1.7.2-tuxcare.2","1.7.3-tuxcare.2"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"jsoup","fixed_in":["1.23.2-1"],"sources":["osv"]},{"ecosystem":"Root:Maven","package":"org.jsoup:jsoup","fixed_in":["1.23.1-aikido.1"],"sources":["osv"]},{"ecosystem":"Root:Maven","package":"io.root.org.jsoup:jsoup","fixed_in":["1.23.1-root.io.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.14.3"},{"fixed":"1.23.1"}]}]},{"source":"osv","ecosystem":"Azure Linux:3","package":"javapackages-bootstrap","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.14.0-5"}]}]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.17.2"},{"fixed":"1.17.2-tuxcare.1"}]}],"versions":["1.17.2"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.13.1"},{"fixed":"1.13.1-tuxcare.1"}]}],"versions":["1.13.1"],"bundled":2},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.7.2"},{"fixed":"1.7.2-tuxcare.2"}]}],"versions":["1.7.2","1.7.2-tuxcare.1"]},{"source":"osv","ecosystem":"TuxCare:Maven","package":"org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.7.3"},{"fixed":"1.7.3-tuxcare.2"}]}],"versions":["1.7.3","1.7.3-tuxcare.1"]},{"source":"osv","ecosystem":"Debian:12","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.15.3-1","1.23.2-1","1.23.2-2"]},{"source":"osv","ecosystem":"Debian:13","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.15.3-1","1.23.2-1","1.23.2-2"]},{"source":"osv","ecosystem":"Debian:14","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.23.2-1"}]}],"versions":["1.15.3-1"]},{"source":"osv","ecosystem":"Maven","package":"org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.14.3"},{"fixed":"1.23.1"}]}],"versions":["1.14.3","1.15.1","1.15.2","1.15.3","1.15.4","1.16.1","1.16.2","1.17.1","1.17.2","1.18.1","1.18.2","1.18.3","1.19.1","1.20.1","1.21.1","1.21.2","1.22.1","1.22.2"]},{"source":"osv","ecosystem":"Red Hat Lightwell:Maven","package":"org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.17.1.rhlw-00007"}]}],"versions":["0.2.1b","0.2.2","0.3.1","1.1.1","1.10.1","1.10.2","1.10.3","1.11.1","1.11.2","1.11.3","1.12.1","1.12.2","1.13.1","1.14.1","1.14.2","1.14.3","1.15.1","1.15.2","1.15.3","1.15.4","1.16.1","1.16.2","1.17.1","1.2.1","1.2.2","1.2.3","1.3.1","1.3.2","1.3.3","1.4.1","1.5.1","1.5.2","1.6.0","1.6.1","1.6.2","1.6.3","1.7.1","1.7.2","1.7.3","1.8.1","1.8.2","1.8.3","1.9.1","1.9.2"],"bundled":2},{"source":"osv","ecosystem":"Red Hat Lightwell:Maven","package":"org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.22.1.rhlw-00002"}]}],"versions":["0.2.1b","0.2.2","0.3.1","1.1.1","1.10.1","1.10.2","1.10.3","1.11.1","1.11.2","1.11.3","1.12.1","1.12.2","1.13.1","1.14.1","1.14.2","1.14.3","1.15.1","1.15.2","1.15.3","1.15.4","1.16.1","1.16.2","1.17.1","1.17.2","1.18.1","1.18.2","1.18.3","1.19.1","1.2.1","1.2.2","1.2.3","1.20.1","1.21.1","1.21.2","1.22.1","1.3.1","1.3.2","1.3.3","1.4.1","1.5.1","1.5.2","1.6.0","1.6.1","1.6.2","1.6.3","1.7.1","1.7.2","1.7.3","1.8.1","1.8.2","1.8.3","1.9.1","1.9.2"],"bundled":2},{"source":"osv","ecosystem":"Root:Maven","package":"org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.23.1-aikido.1"}]}]},{"source":"osv","ecosystem":"Root:Maven","package":"io.root.org.jsoup:jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.23.1-root.io.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.7.2-1","1.7.3-1","1.7.3-1ubuntu0.1~esm2"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.3-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.2-1","1.10.2-2"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.2-2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.2-2","1.14.3-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.15.3-1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.15.3-1build1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"jsoup","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.15.3-1","1.15.3-1build1"]}],"products":[{"vendor":"jhy","product":"jsoup"}],"references":[{"url":"https://github.com/jhy/jsoup/security/advisories/GHSA-pmhh-3w7g-xqp8","tags":["x_refsource_CONFIRM","advisory","web","report"]},{"url":"https://github.com/jhy/jsoup/issues/2538","tags":["x_refsource_MISC","report","web"]},{"url":"https://github.com/jhy/jsoup/commit/92f1aca552548b484bc7d4b94c51e48b8e6eca70","tags":["x_refsource_MISC","fix","web","report"]},{"url":"https://github.com/jhy/jsoup/releases/tag/jsoup-1.23.1","tags":["x_refsource_MISC","web","report"]},{"url":"https://github.com/advisories/GHSA-pmhh-3w7g-xqp8","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-71497","tags":["web","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/71xxx/CVE-2026-71497.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-71497","tags":["advisory"]},{"url":"https://github.com/jhy/jsoup","tags":["package"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/75xxx/CVE-2026-75140.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-75140","tags":["advisory"]},{"url":"https://github.com/jhy/jsoup/commit/862ba2f1d48ee95609183dbcfc848c9fd7afc76a","tags":["fix"]},{"url":"https://github.com/jhy/jsoup/pull/2556","tags":["fix","report"]},{"url":"https://github.com/advisories/GHSA-65r4-943x-97jj","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-71497","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-71497","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-71497","title":"jsoup: Cleaner may expose markup with custom raw-text elements","description":"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.","status":"published","published":"2026-08-06T21:09:31.489Z","modified":"2026-08-07T14:37:56.848Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:19:49.559463Z"}],"euvd":[{"id":"EUVD-2026-54153","description":"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.","status":"published","published":"2026-08-06T21:09:31Z","modified":"2026-08-07T14:37:56Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T18:02:07.294457Z"}],"ghsa":[{"id":"GHSA-pmhh-3w7g-xqp8","title":"jsoup: Cleaner may expose markup with custom raw-text elements","description":"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.\n\njsoup’s built-in Safelists are unaffected.\n\n## Patches\n\nUpgrade to jsoup 1.23.1.\n\n## Workarounds\n\nUntil upgrading, do not permit raw-text elements in custom Safelists used to clean untrusted HTML.\n\n## Additional security considerations\n\nThis fix addresses malformed tag-name handling only.\n\nPermitting 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.","status":"published","published":"2026-08-06T21:09:36Z","modified":"2026-08-06T21:09:37Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:40:57.999375Z"}],"nvd":[{"id":"CVE-2026-71497","description":"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.","status":"published","published":"2026-08-06T22:18:32.043Z","modified":"2026-10-24T15:10:00.19Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:35.386166Z"}],"osv":[{"id":"CVE-2026-71497","title":"jsoup: Cleaner may expose markup with custom raw-text elements","description":"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.","status":"published","published":"2026-08-06T21:09:31.489Z","modified":"2026-10-28T11:22:42.863040742Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:45:15.164658Z"},{"id":"DEBIAN-CVE-2026-71497","description":"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.","status":"published","published":"2026-08-06T22:18:32.043Z","modified":"2026-10-25T09:47:37.021706874Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:46:02.094661Z"},{"id":"GHSA-pmhh-3w7g-xqp8","title":"jsoup: Cleaner may expose markup with custom raw-text elements","description":"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.\n\njsoup’s built-in Safelists are unaffected.\n\n## Patches\n\nUpgrade to jsoup 1.23.1.\n\n## Workarounds\n\nUntil upgrading, do not permit raw-text elements in custom Safelists used to clean untrusted HTML.\n\n## Additional security considerations\n\nThis fix addresses malformed tag-name handling only.\n\nPermitting 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.","status":"published","published":"2026-08-06T21:09:36Z","modified":"2026-09-10T03:50:53.80998388Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:53.244788Z"},{"id":"RHLW-2026-1af9ecf859c7dfb4","title":"Lightwell Security Advisory: jsoup 1.17.1.rhlw-00007","description":"Red Hat Lightwell has released org.jsoup:jsoup 1.17.1.rhlw-00007 with backported fixes for CVE-2026-71497 and CVE-2026-75140.\n\nCVE-2026-71497: jsoup: Cleaner may expose markup with custom raw-text elements\n\nCVE-2026-75140: jsoup Uncontrolled Resource Consumption in XmlTreeBuilder\n\nThis patched artifact is a drop-in replacement for org.jsoup:jsoup 1.17.1 from Maven Central.","status":"published","published":"2026-11-11T19:24:36Z","modified":"2026-11-11T20:58:10.989955419Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-11T21:21:43.804584Z"},{"id":"RHLW-2026-dc6bb5cbbfc647ed","title":"Lightwell Security Advisory: jsoup 1.22.1.rhlw-00002","description":"Red Hat Lightwell has released org.jsoup:jsoup 1.22.1.rhlw-00002 with backported fixes for CVE-2026-71497 and CVE-2026-75140.\n\nCVE-2026-71497: jsoup: Cleaner may expose markup with custom raw-text elements\n\nCVE-2026-75140: jsoup Uncontrolled Resource Consumption in XmlTreeBuilder\n\nThis patched artifact is a drop-in replacement for org.jsoup:jsoup 1.22.1 from Maven Central.","status":"published","published":"2026-11-04T00:13:08Z","modified":"2026-11-06T19:43:10.81704924Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-06T20:08:20.701853Z"},{"id":"UBUNTU-CVE-2026-71497","description":"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.","status":"published","published":"2026-08-06T22:18:00Z","modified":"2026-10-17T13:00:46.257741835Z","cvss":[{"version":"3.1","score":4.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T16:57:03.035847Z"},{"id":"AZL-95475","title":"CVE-2026-71497 affecting package javapackages-bootstrap for versions less than 1.14.0-5","description":"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.","status":"published","published":"2026-08-06T22:18:32Z","modified":"2026-11-05T05:40:51Z","updated_at":"2026-11-05T16:41:26.077208Z"},{"id":"CLSA-2026-1787667194","title":"TuxCare security update for org.jsoup:jsoup (1 CVE)","description":"TuxCare rebuilt org.jsoup:jsoup to address 1 CVE. Fixed in 1.17.2-tuxcare.1.","status":"published","published":"2026-08-25T14:13:14Z","modified":"2026-10-15T09:47:25.828942097Z","updated_at":"2026-11-02T15:43:47.591214Z"},{"id":"CLSA-2026-1793719546","title":"TuxCare security update for org.jsoup:jsoup (2 CVEs)","description":"TuxCare rebuilt org.jsoup:jsoup to address 2 CVEs. Fixed in 1.13.1-tuxcare.1.","status":"published","published":"2026-11-03T16:25:47Z","modified":"2026-11-03T19:30:03.804258583Z","updated_at":"2026-11-03T20:03:57.215693Z"},{"id":"CLSA-2026-1793728512","title":"TuxCare security update for org.jsoup:jsoup (1 CVE)","description":"TuxCare rebuilt org.jsoup:jsoup to address 1 CVE. Fixed in 1.7.2-tuxcare.2.","status":"published","published":"2026-11-03T18:55:13Z","modified":"2026-11-04T02:30:03.370180049Z","updated_at":"2026-11-04T02:55:01.518827Z"},{"id":"CLSA-2026-1793728607","title":"TuxCare security update for org.jsoup:jsoup (1 CVE)","description":"TuxCare rebuilt org.jsoup:jsoup to address 1 CVE. Fixed in 1.7.3-tuxcare.2.","status":"published","published":"2026-11-03T18:56:48Z","modified":"2026-11-04T02:30:03.523361648Z","updated_at":"2026-11-04T02:55:01.518827Z"},{"id":"ROOT-APP-MAVEN-CVE-2026-71497","title":"CVE-2026-71497 in org.jsoup:jsoup - Patched by Root","description":"Root has patched CVE-2026-71497 in the org.jsoup:jsoup package for Root:Maven. Multiple fixed versions available.","status":"published","published":"2026-10-09T10:49:56Z","modified":"2026-10-09T11:15:03.653976557Z","updated_at":"2026-11-02T15:53:27.066589Z"}]}}
