<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Sat, 03 Oct 2026 20:10:04 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-49825 — lxml: javascript: URL bypass in Cleaner via xlink:href</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-49825</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; lxml, fedora-python lxml_html_clean&lt;/p&gt;
&lt;p&gt;lxml is a library for processing XML and HTML in the Python language. Prior to 6.1.1, link attributes in ``lxml.html.defs.link_attrs`` were missing ``xlink:href``, which can be used for URL bypass attacks in embedded SVG/MathML/etc. content. This vulnerability was fixed in lxml 6.1.1 and lxml_html_clean 0.4.5.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; lxml, fedora-python lxml_html_clean&lt;/p&gt;
&lt;p&gt;lxml is a library for processing XML and HTML in the Python language. Prior to 6.1.1, link attributes in ``lxml.html.defs.link_attrs`` were missing ``xlink:href``, which can be used for URL bypass attacks in embedded SVG/MathML/etc. content. This vulnerability was fixed in lxml 6.1.1 and lxml_html_clean 0.4.5.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-49825</guid>
    </item>
    <item>
      <title>GHSA-4jhm-jv67-739f — `lxml_html_clean.Cleaner` does not strip `javascript:` URLs from namespaced URL attributes</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-4jhm-jv67-739f</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: lxml_html_clean&lt;/p&gt;
&lt;p&gt;# `lxml_html_clean.Cleaner` does not strip `javascript:` URLs from namespaced URL attributes (`xlink:href`)&lt;/p&gt;
&lt;p&gt;**Reporter:** Guillem Lefait &amp;lt;guillem@datamq.com&amp;gt; · **Date:** 2026-05-10
**Affected:** `lxml` ≤ 6.1.0 and `lxml_html_clean` ≤ 0.4.4 (latest stable)
**Confirmed against:** lxml 6.1.0 + lxml_html_clean 0.4.4 on Python 3.13.5, 3.14.4, and 3.15.0a8 (libxml2 2.14.6 / 2.9.14 — bug is in pure-Python sanitizer logic, independent of the libxml2 backend)
**Root-cause class:** same as CVE-2021-28957 (`formaction` missing from `link_attrs`)&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`Cleaner` filters URL schemes (`javascript:`, `vbscript:`, …) by walking links via `rewrite_links()`, which delegates to `iterlinks()`, which only yields attributes named in `lxml.html.defs.link_attrs`. That allow-list contains no prefixed names (`xlink:href`) and no `srcset`. As a result, when `Cleaner` is configured with `safe_attrs_only=False` — a documented option for callers that want lenient attribute handling but still expect URL-scheme scrubbing — `&amp;lt;a xlink:href=&amp;#34;javascript:…&amp;#34;&amp;gt;` survives sanitization untouched, and any browser that follows the SVG-anchor specification will execute the JavaScript when the rendered link is clicked.&lt;/p&gt;
&lt;p&gt;**CWE:** CWE-79 (XSS), with CWE-184 (Incomplete List of Disallowed Inputs) as the underlying defect class.&lt;/p&gt;
&lt;p&gt;## Affected components&lt;/p&gt;
&lt;p&gt;| Package            | Versions tested        | File / line                      |
|--------------------|------------------------|----------------------------------|…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: lxml_html_clean&lt;/p&gt;
&lt;p&gt;# `lxml_html_clean.Cleaner` does not strip `javascript:` URLs from namespaced URL attributes (`xlink:href`)&lt;/p&gt;
&lt;p&gt;**Reporter:** Guillem Lefait &amp;lt;guillem@datamq.com&amp;gt; · **Date:** 2026-05-10
**Affected:** `lxml` ≤ 6.1.0 and `lxml_html_clean` ≤ 0.4.4 (latest stable)
**Confirmed against:** lxml 6.1.0 + lxml_html_clean 0.4.4 on Python 3.13.5, 3.14.4, and 3.15.0a8 (libxml2 2.14.6 / 2.9.14 — bug is in pure-Python sanitizer logic, independent of the libxml2 backend)
**Root-cause class:** same as CVE-2021-28957 (`formaction` missing from `link_attrs`)&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`Cleaner` filters URL schemes (`javascript:`, `vbscript:`, …) by walking links via `rewrite_links()`, which delegates to `iterlinks()`, which only yields attributes named in `lxml.html.defs.link_attrs`. That allow-list contains no prefixed names (`xlink:href`) and no `srcset`. As a result, when `Cleaner` is configured with `safe_attrs_only=False` — a documented option for callers that want lenient attribute handling but still expect URL-scheme scrubbing — `&amp;lt;a xlink:href=&amp;#34;javascript:…&amp;#34;&amp;gt;` survives sanitization untouched, and any browser that follows the SVG-anchor specification will execute the JavaScript when the rendered link is clicked.&lt;/p&gt;
&lt;p&gt;**CWE:** CWE-79 (XSS), with CWE-184 (Incomplete List of Disallowed Inputs) as the underlying defect class.&lt;/p&gt;
&lt;p&gt;## Affected components&lt;/p&gt;
&lt;p&gt;| Package            | Versions tested        | File / line                      |
|--------------------|------------------------|----------------------------------|…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-4jhm-jv67-739f</guid>
    </item>
    <item>
      <title>PYSEC-2026-2614 — `lxml_html_clean.Cleaner` does not strip `javascript:` URLs from namespaced URL attributes</title>
      <link>https://vulnerability.circl.lu/vuln/pysec-2026-2614</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: lxml-html-clean&lt;/p&gt;
&lt;p&gt;# `lxml_html_clean.Cleaner` does not strip `javascript:` URLs from namespaced URL attributes (`xlink:href`)&lt;/p&gt;
&lt;p&gt;**Reporter:** Guillem Lefait &amp;lt;guillem@datamq.com&amp;gt; · **Date:** 2026-05-10
**Affected:** `lxml` ≤ 6.1.0 and `lxml_html_clean` ≤ 0.4.4 (latest stable)
**Confirmed against:** lxml 6.1.0 + lxml_html_clean 0.4.4 on Python 3.13.5, 3.14.4, and 3.15.0a8 (libxml2 2.14.6 / 2.9.14 — bug is in pure-Python sanitizer logic, independent of the libxml2 backend)
**Root-cause class:** same as CVE-2021-28957 (`formaction` missing from `link_attrs`)&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`Cleaner` filters URL schemes (`javascript:`, `vbscript:`, …) by walking links via `rewrite_links()`, which delegates to `iterlinks()`, which only yields attributes named in `lxml.html.defs.link_attrs`. That allow-list contains no prefixed names (`xlink:href`) and no `srcset`. As a result, when `Cleaner` is configured with `safe_attrs_only=False` — a documented option for callers that want lenient attribute handling but still expect URL-scheme scrubbing — `&amp;lt;a xlink:href=&amp;#34;javascript:…&amp;#34;&amp;gt;` survives sanitization untouched, and any browser that follows the SVG-anchor specification will execute the JavaScript when the rendered link is clicked.&lt;/p&gt;
&lt;p&gt;**CWE:** CWE-79 (XSS), with CWE-184 (Incomplete List of Disallowed Inputs) as the underlying defect class.&lt;/p&gt;
&lt;p&gt;## Affected components&lt;/p&gt;
&lt;p&gt;| Package            | Versions tested        | File / line                      |
|--------------------|------------------------|----------------------------------|…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; PyPI: lxml-html-clean&lt;/p&gt;
&lt;p&gt;# `lxml_html_clean.Cleaner` does not strip `javascript:` URLs from namespaced URL attributes (`xlink:href`)&lt;/p&gt;
&lt;p&gt;**Reporter:** Guillem Lefait &amp;lt;guillem@datamq.com&amp;gt; · **Date:** 2026-05-10
**Affected:** `lxml` ≤ 6.1.0 and `lxml_html_clean` ≤ 0.4.4 (latest stable)
**Confirmed against:** lxml 6.1.0 + lxml_html_clean 0.4.4 on Python 3.13.5, 3.14.4, and 3.15.0a8 (libxml2 2.14.6 / 2.9.14 — bug is in pure-Python sanitizer logic, independent of the libxml2 backend)
**Root-cause class:** same as CVE-2021-28957 (`formaction` missing from `link_attrs`)&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`Cleaner` filters URL schemes (`javascript:`, `vbscript:`, …) by walking links via `rewrite_links()`, which delegates to `iterlinks()`, which only yields attributes named in `lxml.html.defs.link_attrs`. That allow-list contains no prefixed names (`xlink:href`) and no `srcset`. As a result, when `Cleaner` is configured with `safe_attrs_only=False` — a documented option for callers that want lenient attribute handling but still expect URL-scheme scrubbing — `&amp;lt;a xlink:href=&amp;#34;javascript:…&amp;#34;&amp;gt;` survives sanitization untouched, and any browser that follows the SVG-anchor specification will execute the JavaScript when the rendered link is clicked.&lt;/p&gt;
&lt;p&gt;**CWE:** CWE-79 (XSS), with CWE-184 (Incomplete List of Disallowed Inputs) as the underlying defect class.&lt;/p&gt;
&lt;p&gt;## Affected components&lt;/p&gt;
&lt;p&gt;| Package            | Versions tested        | File / line                      |
|--------------------|------------------------|----------------------------------|…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/pysec-2026-2614</guid>
    </item>
  </channel>
</rss>
