<?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://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-06T19:50:03.939301+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" 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://cve.radiocsirt.org/vuln/brew-adr-viewer-cve-2026-59930</id>
    <title>BREW-adr-viewer-CVE-2026-59930 — Mistune toc / TableOfContents directive: heading IDs use predictable `toc_N` numbering with no slugification, allowing…</title>
    <updated>2026-10-06T19:50:03.944089+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Homebrew: adr-viewer</p>
<p>## Summary</p>
<p>**Type:** Predictable identifier generation. The `toc` plugin and `TableOfContents` directive both default to generating heading IDs of the form `toc_1`, `toc_2`, `toc_3`, ... with no input-derived component. An attacker who can place a heading anywhere in the document can predict which `toc_N` ID it will receive, and can inject HTML elsewhere (in a non-heading context) that uses the same `id="toc_N"` to either (a) shadow the legitimate heading anchor, breaking same-page navigation, or (b) collide with CSS or JavaScript that targets `#toc_N` selectors, redirecting click handlers and styling to attacker-chosen content.
**File:** `src/mistune/toc.py` line 36-37 (`heading_id = lambda token, index: "toc_" + str(index + 1)`); `src/mistune/directives/toc.py` line 33 (same default).
**Root cause:** the default `heading_id` callback ignores the heading's text content and uses only the headings's order in the document. Two documents rendered together (or one document with attacker-influenced headings spliced into trusted content) produce overlapping `toc_N` IDs. Because `id` attribute uniqueness is required by HTML, browsers behaviour on duplicate IDs is undefined; `document.getElementById('toc_1')` returns the first match, `getElementsByTagName + querySelector` semantics differ across paths, and CSS rules targeting `#toc_1` apply to whichever element matches first in tree order.</p>
<p>## Affected Code</p>
<p>**File:** `src/mistune/toc.py`, lines 33-39.</p>
<p>```python
def add_toc_hook(m…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/brew-adr-viewer-cve-2026-59930"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/cve-2026-59930</id>
    <title>CVE-2026-59930 — Mistune toc / TableOfContents directive: heading IDs use predictable `toc_N` numbering with no slugification, allowing…</title>
    <updated>2026-10-06T19:50:03.944184+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.3.0, the toc plugin and TableOfContents directive generate heading IDs as predictable toc_N values without slugifying the heading text, allowing attacker-controlled id="toc_N" content to collide with generated anchors and redirect same-page navigation, CSS selectors, or JavaScript handlers. This issue is fixed in version 3.3.0.</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/cve-2026-59930"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-2hm2-hc3v-44h9</id>
    <title>GHSA-2hm2-hc3v-44h9 — Mistune toc / TableOfContents directive: heading IDs use predictable `toc_N` numbering with no slugification, allowing…</title>
    <updated>2026-10-06T19:50:03.944215+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: mistune</p>
<p>## Summary</p>
<p>**Type:** Predictable identifier generation. The `toc` plugin and `TableOfContents` directive both default to generating heading IDs of the form `toc_1`, `toc_2`, `toc_3`, ... with no input-derived component. An attacker who can place a heading anywhere in the document can predict which `toc_N` ID it will receive, and can inject HTML elsewhere (in a non-heading context) that uses the same `id="toc_N"` to either (a) shadow the legitimate heading anchor, breaking same-page navigation, or (b) collide with CSS or JavaScript that targets `#toc_N` selectors, redirecting click handlers and styling to attacker-chosen content.
**File:** `src/mistune/toc.py` line 36-37 (`heading_id = lambda token, index: "toc_" + str(index + 1)`); `src/mistune/directives/toc.py` line 33 (same default).
**Root cause:** the default `heading_id` callback ignores the heading's text content and uses only the headings's order in the document. Two documents rendered together (or one document with attacker-influenced headings spliced into trusted content) produce overlapping `toc_N` IDs. Because `id` attribute uniqueness is required by HTML, browsers behaviour on duplicate IDs is undefined; `document.getElementById('toc_1')` returns the first match, `getElementsByTagName + querySelector` semantics differ across paths, and CSS rules targeting `#toc_1` apply to whichever element matches first in tree order.</p>
<p>## Affected Code</p>
<p>**File:** `src/mistune/toc.py`, lines 33-39.</p>
<p>```python
def add_toc_hook(m…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-2hm2-hc3v-44h9"/>
  </entry>
</feed>
