<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-30T03:32:25.072677+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-44898</id>
    <title>CVE-2026-44898 — Mistune TOC Anchor Injection XSS</title>
    <updated>2026-09-30T03:32:25.090352+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> lepture mistune</p>
<p>Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.2.1, render_toc_ul() builds a &lt;ul&gt; table-of-contents tree from a list of (level, id, text) tuples. Both the id value (used as href="#&lt;id&gt;") and the text value (used as the visible link label) are inserted into &lt;a&gt; tags via a plain Python format string — with no HTML escaping applied to either value. When heading IDs are derived from user-supplied heading text (the standard use-case for readable slug anchors), an attacker can craft a heading whose text breaks out of the href="#..." attribute context, injecting arbitrary HTML tags including &lt;script&gt; blocks directly into the rendered TOC. This vulnerability is fixed in 3.2.1.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-44898"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-6269-cqxg-mhhv</id>
    <title>GHSA-6269-cqxg-mhhv — Mistune TOC Anchor Injection XSS</title>
    <updated>2026-09-30T03:32:25.090473+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: mistune</p>
<p>## Summary
`render_toc_ul()` builds a `&lt;ul&gt;` table-of-contents tree from a list of `(level, id, text)` tuples. Both the `id` value (used as `href="#&lt;id&gt;"`) and the `text` value (used as the visible link label) are inserted into `&lt;a&gt;` tags via a plain Python format string — with no HTML escaping applied to either value.</p>
<p>When heading IDs are derived from user-supplied heading text (the standard use-case for readable slug anchors), an attacker can craft a heading whose text breaks out of the `href="#..."` attribute context, injecting arbitrary HTML tags including `&lt;script&gt;` blocks directly into the rendered TOC.</p>
<p>This vulnerability is closely related to H2 (unescaped `id=` in `heading()`): the same `heading_id` callback pattern that triggers H2 also populates the `toc_items` list that `render_toc_ul()` consumes, meaning both vulnerabilities fire simultaneously in a typical documentation setup.</p>
<p>## Details
**File:** `src/mistune/toc.py`</p>
<p>```python
def render_toc_ul(toc):
    ...
    for level, k, text in toc:
        # k   = heading id  (used verbatim as href fragment)
        # text = heading text (used verbatim as link label)
        item = '&lt;a href="#{}"&gt;{}&lt;/a&gt;'.format(k, text)
        # Neither k nor text is passed through escape() at any point
```</p>
<p>The `k` and `text` values come directly from the `toc_items` list accumulated during parsing. If `k` contains `"` or `&gt;`, the `href` attribute is broken. If `text` contains `&lt;`, raw tags are injected as the visible link content.…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-6269-cqxg-mhhv"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/pysec-2026-2208</id>
    <title>PYSEC-2026-2208</title>
    <updated>2026-09-30T03:32:25.090619+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: mistune</p>
<p>Mistune is a Python Markdown parser with renderers and plugins. Prior to 3.2.1, render_toc_ul() builds a &lt;ul&gt; table-of-contents tree from a list of (level, id, text) tuples. Both the id value (used as href="#&lt;id&gt;") and the text value (used as the visible link label) are inserted into &lt;a&gt; tags via a plain Python format string — with no HTML escaping applied to either value. When heading IDs are derived from user-supplied heading text (the standard use-case for readable slug anchors), an attacker can craft a heading whose text breaks out of the href="#..." attribute context, injecting arbitrary HTML tags including &lt;script&gt; blocks directly into the rendered TOC. This vulnerability is fixed in 3.2.1.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/pysec-2026-2208"/>
  </entry>
</feed>
