Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update dependency sanitize-html to v2 [security] #523

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Mar 3, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
sanitize-html ^1.27.5 -> ^2.0.0 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2024-21501

Versions of the package sanitize-html before 2.12.1 are vulnerable to Information Exposure when used on the backend and with the style attribute allowed, allowing enumeration of files in the system (including project dependencies). An attacker could exploit this vulnerability to gather details about the file system structure and dependencies of the targeted server.

CVE-2022-25887

The package sanitize-html before 2.7.1 are vulnerable to Regular Expression Denial of Service (ReDoS) due to insecure global regular expression replacement logic of HTML comment removal.


Release Notes

apostrophecms/sanitize-html (sanitize-html)

v2.12.1

Compare Source

  • Do not parse sourcemaps in post-css. This fixes a vulnerability in which information about the existence or non-existence of files on a server could be disclosed via properly crafted HTML input when the style attribute is allowed by the configuration. Thanks to the Snyk Security team for the disclosure and to Dylan Armstrong for the fix.

v2.12.0

Compare Source

  • Introduced the allowedEmptyAttributes option, enabling explicit specification of empty string values for select attributes, with the default attribute set to alt. Thanks to Na for the contribution.

  • Clarified the use of SVGs with a new test and changes to documentation. Thanks to Gauav Kumar for the contribution.

  • Do not process source maps when processing style tags with PostCSS.

v2.11.0

Compare Source

  • Fix to allow false in allowedClasses attributes. Thanks to Kevin Jiang for this fix!
  • Upgrade mocha version
  • Apply small linter fixes in tests
  • Add .idea temp files to .gitignore
  • Thanks to Vitalii Shpital for the updates!
  • Show parseStyleAttributes warning in browser only. Thanks to mog422 for this update!
  • Remove empty non-boolean attributes via an exhaustive, configurable list of known non-boolean attributes. Thanks to Dylan Armstrong for this update!

v2.10.0

Compare Source

  • Fix auto-adding escaped closing tags. In other words, do not add implied closing tags to disallowed tags when disallowedTagMode is set to any variant of escape -- just escape the disallowed tags that are present. This fixes issue #​464. Thanks to Daniel Liebner
  • Add tagAllowed() helper function which takes a tag name and checks it against options.allowedTags and returns true if the tag is allowed and false if it is not.

v2.9.0

Compare Source

v2.8.1

Compare Source

  • If the argument is a number, convert it to a string, for backwards compatibility. Thanks to Alexander Schranz.

v2.8.0

Compare Source

  • Upgrades htmlparser2 to new major version ^8.0.0. Thanks to Kedar Chandrayan for this contribution.

v2.7.3

Compare Source

  • If allowedTags is falsy but not exactly false, then do not assume that all tags are allowed. Rather, allow no tags in this case, to be on the safe side. This matches the existing documentation and fixes issue #​176. Thanks to Kedar Chandrayan for the fix.

v2.7.2

Compare Source

  • Closing tags must agree with opening tags. This fixes issue #​549, in which closing tags not associated with any permitted opening tag could be passed through. No known exploit exists, but it's better not to permit this. Thanks to
    Kedar Chandrayan for the report and the fix.

v2.7.1

Compare Source

  • Protocol-relative URLs are properly supported for script tags. Thanks to paweljq.
  • A denial-of-service vulnerability has been fixed by replacing global regular expression replacement logic for comment removal with a new implementation. Thanks to Nariyoshi Chida of NTT Security Japan for pointing out the issue.

v2.7.0

Compare Source

  • Allows a more sensible set of default attributes on <img /> tags. Thanks to Zade Viggers.

v2.6.1

Compare Source

  • Fixes style filtering to retain !important when used.
  • Fixed trailing text bug on transformTags options that was reported on issue #​506. Thanks to Alex Rantos.

v2.6.0

Compare Source

  • Support for regular expressions in the allowedClasses option. Thanks to Alex Rantos.

v2.5.3

Compare Source

  • Fixed bug introduced by klona 2.0.5, by removing klona entirely.

v2.5.2

Compare Source

  • Nullish HTML input now returns an empty string. Nullish value may be explicit null, undefined or implicit undefined when value is not provided. Thanks to Artem Kostiuk for the contribution.
  • Documented that all text content is escaped. Thanks to Siddharth Singh.

v2.5.1

Compare Source

  • The allowedScriptHostnames and allowedScriptDomains options now implicitly purge the inline content of all script tags, not just those with src attributes. This behavior was already strongly implied by the fact that they purged it in the case where a src attribute was actually present, and is necessary for the feature to provide any real security. Thanks to Grigorii Duca for pointing out the issue.

v2.5.0

Compare Source

  • New allowedScriptHostnames option, it enables you to specify which hostnames are allowed in a script tag.
  • New allowedScriptDomains option, it enables you to specify which domains are allowed in a script tag. Thank you to Yorick Girard for this and the allowedScriptHostnames contribution.
  • Updates whitelist to allowlist.

v2.4.0

Compare Source

  • Added support for class names with wildcards in allowedClasses. Thanks to zhangbenber for the contribution.

v2.3.3

Compare Source

  • Security fix: allowedSchemes and related options did not properly block schemes containing a hyphen, plus sign, period or digit, such as ms-calculator:. Thanks to Lukas Euler for pointing out the issue.
  • Added a security note about the known risks associated with using the parser option, especially decodeEntities: false. See the documentation.

v2.3.2

Compare Source

  • Additional fixes for iframe validation exploits. Prevent exploits based on browsers' tolerance of the use of "" rather than "/" and the presence of whitespace at this point in the URL. Thanks to Ron Masas of Checkmarx for pointing out the issue and writing unit tests.
  • Updates README yarn add syntax. Thanks to Tagir Khadshiev for the contribution.

v2.3.1

Compare Source

  • Uses the standard WHATWG URL parser to stop IDNA (Internationalized Domain Name) attacks on the iframe hostname validator. Thanks to Ron Masas of Checkmarx for pointing out the issue and suggesting the use of the WHATWG parser.

v2.3.0

Compare Source

  • Upgrades htmlparser2 to new major version ^6.0.0. Thanks to Bogdan Chadkin for the contribution.

v2.2.0

Compare Source

  • Adds a note to the README about Typescript support (or the lack-thereof).
  • Adds tel to the default allowedSchemes. Thanks to Arne Herbots for this contribution.

v2.1.2

Compare Source

  • Fixes typos and inconsistencies in the README. Thanks to Eric Lefevre-Ardant for this contribution.

v2.1.1

Compare Source

  • Fixes a bug when using allowedClasses with an '*' wildcard selector. Thanks to Clemens Damke for this contribution.
  • Updates mocha to 7.x to resolve security warnings.

v2.1.0

Compare Source

  • sup added to the default allowed tags list. Thanks to Julian Lam for the contribution.
  • Updates default allowedTags README documentation. Thanks to Marco Arduini for the contribution.

v2.0.0

Compare Source

  • nestingLimit option added.
  • Updates ESLint config package and fixes warnings.
  • Upgrade is-plain-object package with named export. Thanks to Bogdan Chadkin for the contribution.
  • Upgrade postcss package and drop Node 11 and Node 13 support (enforced by postcss).
Backwards compatibility breaks:
  • There is no build. You should no longer directly link to a sanitize-html file directly in the browser as it is using modern Javascript that is not fully supported by all major browsers (depending on your definition). You should now include sanitize-html in your project build for this purpose if you have one.
  • On the server side, Node.js 10 or higher is required.
  • The default allowedTags array was updated significantly. This mostly added HTML tags to be more comprehensive by default. You should review your projects and consider the allowedTags defaults if you are not already overriding them.

Configuration

📅 Schedule: Branch creation - "" in timezone GMT, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot changed the title fix(deps): update dependency sanitize-html to v2 [security] fix(deps): update dependency sanitize-html to v2 [security] - autoclosed Mar 20, 2024
@renovate renovate bot closed this Mar 20, 2024
@renovate renovate bot deleted the renovate/npm-sanitize-html-vulnerability branch March 20, 2024 19:41
@renovate renovate bot changed the title fix(deps): update dependency sanitize-html to v2 [security] - autoclosed fix(deps): update dependency sanitize-html to v2 [security] Mar 20, 2024
@renovate renovate bot reopened this Mar 20, 2024
@renovate renovate bot restored the renovate/npm-sanitize-html-vulnerability branch March 20, 2024 21:50
@renovate renovate bot force-pushed the renovate/npm-sanitize-html-vulnerability branch from 0417379 to 33564d5 Compare March 20, 2024 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants