chore(deps): bump sanitize-html from 2.18.0 to 2.18.1
Bumps sanitize-html from 2.18.0 to 2.18.1.
Changelog
Sourced from sanitize-html's changelog.
2.18.1 (2026-10-14)
Changes
Remove the
deepmergedependency, which was used only to combine tag-specific and*(all tags) entries inallowedClassesandallowedStyles. That is now done by a few lines of code within sanitize-html.This is not a fix for a vulnerability in sanitize-html. Security scanners such as Snyk now report CVE-2026-93753 in
deepmerge, which can affect applications that merge untrusted objects, such as parsed JSON request bodies. sanitize-html only ever merged the developer's own configuration, never anything taken from the HTML being sanitized, so it was not exploitable through sanitize-html. Since we needed only a small part of whatdeepmergedoes, we removed the dependency so that these reports no longer appear for sanitize-html users.Security
Since 2.18.0, the fallback markup of a discarded
<iframe>was re-sanitized by a recursive call with no limit, one level per nested unclosed<iframe>. A few kilobytes of crafted input could throwRangeError: Maximum call stack size exceededwith the default options, and thenestingLimitoption was not enforced across the fallback because each nested call started counting from zero. The fallback of a discarded<iframe>is still sanitized and kept, but only up to eight nested<iframe>elements (deeper fallback is escaped as text, as before 2.18.0), and the current nesting depth now carries into the nested call sonestingLimitapplies to the whole output. Only 2.18.0 was affected, and the exception is thrown synchronously, so applications that catch errors fromsanitizeHtmlonly lost the affected request (CWE-674, GHSA-c9rx-x947-fp3h).Thanks to hkmj19, JohnBeckley, and amikhailovstiltsoft for reporting the vulnerability.
Commits
a48dd9fLatest release q4 m1 2026: changelog, package.json (#5667)06e4b37Latest reconciliation q4 m1 2026 (#5664)- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the Security Alerts page.
Summary by cubic
Updates sanitize-html to 2.18.1, which fixes a stack overflow vulnerability (GHSA-c9rx-x947-fp3h) where crafted nested unclosed <iframe> elements could throw RangeError: Maximum call stack size exceeded. The fallback markup of discarded <iframe> elements is now limited to 8 nested levels, and the nestingLimit option correctly applies across the whole output.
Also removes the deepmerge dependency, which was only used to combine allowedClasses and allowedStyles config; this silences false-positive CVE-2026-93753 reports from security scanners. The lockfile change is limited to the sanitize-html bump, with no other dependency moves.