sanitize-html vulnerabilities
Clean up user-submitted HTML, preserving allowlisted elements and allowlisted attributes on a per-element basis
- Registry
- npm
- Latest
- 2.18.1
- License
- MIT
17 known advisories
The latest version, 2.18.1, is not affected by any of them. Projects on older versions may be.
npm install sanitize-html@2.18.1Security advisories for sanitize-html
ApostropheCMS sanitize-html: unbounded recursion when re-sanitizing the fallback of a discarded iframe (stack overflow, nestingLimit not enforced)
- Affected
- >=2.18.0 <2.18.1
- Fixed in
- 2.18.1
ApostropheCMS sanitize-html: SMIL animation namespace-prefix bypass allows javascript: URI injection (XSS)
- Affected
- >=2.17.7 <2.18.0
- Fixed in
- 2.18.0
ApostropheCMS: Incomplete CVE-2026-53606: `meta http-equiv=refresh` `content` still ships `javascript:` / `data:` URLs
- Affected
- <2.18.0
- Fixed in
- 2.18.0
ApostropheCMS sanitize-html: nonTextTags discard region ends early on an implied close, letting <noscript> content render
- Affected
- <2.18.0
- Fixed in
- 2.18.0
ApostropheCMS: Mutation-XSS / allowedTags bypass via literal `</textarea/>` solidus close
- Affected
- <2.17.6
- Fixed in
- 2.17.6
ApostropheCMS: Stored XSS via SVG SMIL URI-list scheme-policy bypass
- Affected
- >=1.9.0 <2.17.7
- Fixed in
- 2.17.7
sanitize-html has incomplete URI scheme validation in that allows javascript: URIs through action, formaction, data, poster, and background attributes
- Affected
- >=1.18.0 <2.17.5
- Fixed in
- 2.17.5
Apostrophe has default XSS via `xmp` raw-text passthrough in `sanitize-html`
- Affected
- >=2.17.3 <2.17.4
- Fixed in
- 2.17.4
sanitize-html allowedTags Bypass via Entity-Decoded Text in nonTextTags Elements
- Affected
- >=2.17.2 <2.17.3
- Fixed in
- 2.17.3
sanitize-html is vulnerable to XSS through incomprehensive sanitization
- Affected
- <2.0.0-beta
- Fixed in
- 2.0.0-beta
sanitize-html Information Exposure vulnerability
- Affected
- <2.12.1
- Fixed in
- 2.12.1
Sanitize-html Vulnerable To REDoS Attacks
- Affected
- <2.7.1
- Fixed in
- 2.7.1
Improper Input Validation in sanitize-html
- Affected
- <2.3.2
- Fixed in
- 2.3.2
Improper Input Validation in sanitize-html
- Affected
- <2.3.1
- Fixed in
- 2.3.1
Cross-Site Scripting in sanitize-html
- Affected
- <1.4.3
- Fixed in
- 1.4.3
Cross-Site Scripting in sanitize-html
- Affected
- <1.11.4
- Fixed in
- 1.11.4
Cross-Site Scripting in sanitize-html
- Affected
- <1.2.3
- Fixed in
- 1.2.3
Which of your client projects still run an old sanitize-html?
NPMscan reads the package-lock.json, yarn.lock and pnpm-lock.yaml in every GitHub repo you pick and checks each installed version against these advisories, including the packages your packages pull in. Each finding comes with the command that fixes it.
Other npm packages
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily. Package details from the npm registry.