Security
Headlines
HeadlinesLatestCVEs

Headline

GHSA-5jfw-gq64-q45f: HTML Cleaner allows crafted scripts in special contexts like svg or math to pass through

Impact

The HTML Parser in lxml does not properly handle context-switching for special HTML tags such as <svg>, <math> and <noscript>. This behavior deviates from how web browsers parse and interpret such tags. Specifically, content in CSS comments is ignored by lxml_html_clean but may be interpreted differently by web browsers, enabling malicious scripts to bypass the cleaning process. This vulnerability could lead to Cross-Site Scripting (XSS) attacks, compromising the security of users relying on lxml_html_clean in default configuration for sanitizing untrusted HTML content.

Patches

Users employing the HTML cleaner in a security-sensitive context should upgrade to lxml 0.4.0, which addresses this issue.

Workarounds

As a temporary mitigation, users can configure lxml_html_clean with the following settings to prevent the exploitation of this vulnerability:

  • remove_tags: Specify tags to remove - their content is moved to their parents’ tags.
  • kill_tags: Specify tags to be removed completely.
  • allow_tags: Restrict the set of permissible tags, excluding context-switching tags like <svg>, <math> and <noscript>.

References

  • https://github.com/fedora-python/lxml_html_clean/pull/19
  • https://github.com/fedora-python/lxml_html_clean/pull/19/commits/c5d816f86eb3707d72a8ecf5f3823e0daa1b3808
ghsa
#xss#vulnerability#web#git#perl
  1. GitHub Advisory Database
  2. GitHub Reviewed
  3. CVE-2024-52595

HTML Cleaner allows crafted scripts in special contexts like svg or math to pass through

Package

pip lxml-html-clean (pip)

Affected versions

< 0.4.0

Impact

The HTML Parser in lxml does not properly handle context-switching for special HTML tags such as <svg>, <math> and <noscript>. This behavior deviates from how web browsers parse and interpret such tags. Specifically, content in CSS comments is ignored by lxml_html_clean but may be interpreted differently by web browsers, enabling malicious scripts to bypass the cleaning process. This vulnerability could lead to Cross-Site Scripting (XSS) attacks, compromising the security of users relying on lxml_html_clean in default configuration for sanitizing untrusted HTML content.

Patches

Users employing the HTML cleaner in a security-sensitive context should upgrade to lxml 0.4.0, which addresses this issue.

Workarounds

As a temporary mitigation, users can configure lxml_html_clean with the following settings to prevent the exploitation of this vulnerability:

  • remove_tags: Specify tags to remove - their content is moved to their parents’ tags.
  • kill_tags: Specify tags to be removed completely.
  • allow_tags: Restrict the set of permissible tags, excluding context-switching tags like <svg>, <math> and <noscript>.

References

  • fedora-python/lxml_html_clean#19
  • fedora-python/lxml_html_clean@c5d816f

References

  • GHSA-5jfw-gq64-q45f
  • fedora-python/lxml_html_clean#19
  • fedora-python/lxml_html_clean@c5d816f

Published to the GitHub Advisory Database

Nov 19, 2024

Last updated

Nov 19, 2024

ghsa: Latest News

GHSA-5jfw-gq64-q45f: HTML Cleaner allows crafted scripts in special contexts like svg or math to pass through