{"id":"CVE-2019-25225","aliases":["CLSA-2026-1775003160","EUVD-2019-19375","GHSA-qhxp-v273-g94h","ROOT-APP-NPM-CVE-2019-25225","UBUNTU-CVE-2019-25225"],"status":"published","title":"sanitize-html is vulnerable to XSS through incomprehensive sanitization","description":"`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). The `sanitizeHtml()` function in `index.js` does not sanitize content when using the custom `transformTags` option, which is intended to convert attribute values into text. As a result, malicious input can be transformed into executable code.","severity":{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.0028,"percentile":0.20574,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2025-09-08T10:02:42Z","modified":"2026-10-24T10:47:43Z","fixes":[{"ecosystem":"npm","package":"sanitize-html","fixed_in":["2.0.0-beta"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:npm","package":"sanitize-html","fixed_in":["1.27.5-tuxcare.1"],"sources":["osv"]},{"ecosystem":"Root:npm","package":"@rootio/sanitize-html","fixed_in":["1.4.2-root.io.6","1.4.2-root.io.7","1.4.2-root.io.8","1.4.2-root.io.9"],"sources":["osv"]},{"ecosystem":"Root:npm","package":"sanitize-html","fixed_in":["1.4.2-aikido.9"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"sanitize-html","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.0-beta"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"sanitize-html","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.27.5-tuxcare.0"},{"fixed":"1.27.5-tuxcare.1"}]}],"versions":["1.27.5"]},{"source":"osv","ecosystem":"npm","package":"sanitize-html","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.0.0-beta"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"@rootio/sanitize-html","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.2-root.io.6"},{"fixed":"1.4.2-root.io.7"},{"fixed":"1.4.2-root.io.8"},{"fixed":"1.4.2-root.io.9"}]}]},{"source":"osv","ecosystem":"Root:npm","package":"sanitize-html","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.2-aikido.9"}]}]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"node-sanitize-html","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.6.1-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"node-sanitize-html","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.8.0+~2.6.2-1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"node-sanitize-html","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.14.0+~2.13.0-1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"node-sanitize-html","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.14.0+~2.13.0-1","2.17.0+~2.16.1-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"node-sanitize-html","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.14.0+~2.13.0-1"]}],"products":[{"vendor":"apostrophecms","product":"sanitize-html"}],"references":[{"url":"https://github.com/apostrophecms/sanitize-html/issues/293","tags":["issue-tracking","Issue Tracking","Vendor Advisory","report","web"]},{"url":"https://github.com/apostrophecms/sanitize-html/pull/156","tags":["Issue Tracking","Patch","fix","web","report"]},{"url":"https://github.com/apostrophecms/sanitize-html/commit/712cb6895825c8bb6ede71a16b42bade42abcaf3","tags":["patch","Patch","fix","web","report"]},{"url":"https://github.com/Checkmarx/Vulnerabilities-Proofs-of-Concept/tree/main/2019/CVE-2019-25225","tags":["exploit","Exploit","Third Party Advisory","evidence","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2019-25225","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-qhxp-v273-g94h"},{"url":"https://github.com/apostrophecms/sanitize-html","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2019-25225","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2019-25225","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2019-25225","description":"`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). The `sanitizeHtml()` function in `index.js` does not sanitize content when using the custom `transformTags` option, which is intended to convert attribute values into text. As a result, malicious input can be transformed into executable code.","status":"published","published":"2025-09-08T10:02:42.945Z","modified":"2025-09-08T15:18:19.841Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:20:19.737165Z"}],"euvd":[{"id":"EUVD-2019-19375","description":"`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). The `sanitizeHtml()` function in `index.js` does not sanitize content when using the custom `transformTags` option, which is intended to convert attribute values into text. As a result, malicious input can be transformed into executable code.","status":"published","published":"2025-09-08T10:02:42Z","modified":"2025-09-08T15:18:19Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T20:31:46.507509Z"}],"ghsa":[{"id":"GHSA-qhxp-v273-g94h","title":"sanitize-html is vulnerable to XSS through incomprehensive sanitization","description":"`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). The `sanitizeHtml()` function in `index.js` does not sanitize content when using the custom `transformTags` option, which is intended to convert attribute values into text. As a result, malicious input can be transformed into executable code.","status":"published","published":"2025-09-08T12:30:33Z","modified":"2025-09-12T20:01:44Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:38:57.074217Z"}],"nvd":[{"id":"CVE-2019-25225","description":"`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). The `sanitizeHtml()` function in `index.js` does not sanitize content when using the custom `transformTags` option, which is intended to convert attribute values into text. As a result, malicious input can be transformed into executable code.","status":"published","published":"2025-09-08T10:15:33.44Z","modified":"2026-06-17T02:31:47.607Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:05:49.934131Z"}],"osv":[{"id":"CVE-2019-25225","description":"`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). The `sanitizeHtml()` function in `index.js` does not sanitize content when using the custom `transformTags` option, which is intended to convert attribute values into text. As a result, malicious input can be transformed into executable code.","status":"published","published":"2025-09-08T10:15:33.44Z","modified":"2026-10-24T10:47:43.465772657Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:12.363788Z"},{"id":"GHSA-qhxp-v273-g94h","title":"sanitize-html is vulnerable to XSS through incomprehensive sanitization","description":"`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). The `sanitizeHtml()` function in `index.js` does not sanitize content when using the custom `transformTags` option, which is intended to convert attribute values into text. As a result, malicious input can be transformed into executable code.","status":"published","published":"2025-09-08T12:30:33Z","modified":"2025-09-12T20:27:20.408277Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:54.760124Z"},{"id":"UBUNTU-CVE-2019-25225","description":"`sanitize-html` prior to version 2.0.0-beta is vulnerable to Cross-site Scripting (XSS). The `sanitizeHtml()` function in `index.js` does not sanitize content when using the custom `transformTags` option, which is intended to convert attribute values into text. As a result, malicious input can be transformed into executable code.","status":"published","published":"2025-09-08T10:15:00Z","modified":"2026-10-17T12:55:49.717752706Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:54:21.213407Z"},{"id":"CLSA-2026-1775003160","title":"TuxCare security update for sanitize-html (1 CVE)","description":"TuxCare rebuilt sanitize-html to address 1 CVE. Fixed in 1.27.5-tuxcare.1.","status":"published","published":"2026-08-04T14:52:17Z","modified":"2026-10-15T09:47:49.121892934Z","updated_at":"2026-11-02T15:43:44.009773Z"},{"id":"ROOT-APP-NPM-CVE-2019-25225","title":"CVE-2019-25225 in @rootio/sanitize-html - Patched by Root","description":"Root has patched CVE-2019-25225 in the @rootio/sanitize-html package for Root:npm. Multiple fixed versions available.","status":"published","published":"2026-06-04T20:57:52Z","modified":"2026-06-05T01:30:41.200684824Z","updated_at":"2026-11-02T15:53:27.362922Z"}]}}
