python-markdown2: Denial of Service durch nicht geschlossene Inline-Link-Ziele
Zusammenfassung
python-markdown2 bis Version 2.5.5 ist eine Python-Bibliothek, die Markdown in HTML umwandelt. Manipulierter Markdown-Text mit wiederholten, nicht geschlossenen Inline-Link-Sequenzen führt dazu, dass der Parser für jeden Link das restliche Dokument erneut durchsucht, wodurch die CPU-Zeit quadratisch ansteigt. Ein entfernter Angreifer, der Markdown-Text an eine Anwendung mit dieser Bibliothek übermitteln kann, kann die CPU-Ressourcen erschöpfen und einen Denial of Service auslösen.
Betroffen
- python-markdown2 Versionen 0 bis 2.5.5
- Anwendungen, die unvertrauenswürdiges Markdown mit dieser Bibliothek rendern, inklusive transitiver Abhängigkeiten
Behoben in
Unbekannt. Zum Zeitpunkt der Erstellung wurde keine bestätigte korrigierte Version gefunden. Der Upstream-Issue #750 und der Pull Request #751 sind relevant, ihr Merge- und Release-Status konnte jedoch nicht bestätigt werden.
Umgehung
- Aktuelle Version fixieren und Upstream-Pull-Request #751 sowie neue Releases auf eine Korrektur überwachen
- Grösse des Markdown-Inputs vor der Verarbeitung begrenzen
- Markdown-Rendering mit einem Timeout oder in einem separaten Worker-Prozess ausführen
- Übermittlungen an öffentliche Endpunkte, die Markdown rendern, ratenbegrenzen
- Benutzerinhalte als Klartext darstellen, wo keine Links benötigt werden
Ausnutzung
- Nicht bekannt, dass die Schwachstelle aktiv ausgenutzt wird; nicht im CISA KEV gelistet
- Der öffentliche Issue #750 des Maintainers beschreibt eine Reproduktion mit Zeitmessungen
- Das Auslösemuster ist im öffentlichen CVE-Text beschrieben
Unsere Empfehlung
- Inventare auf markdown2 prüfen, einschliesslich transitiver Abhängigkeiten
- Aus dem Internet erreichbare Anwendungen, die Benutzerinhalte rendern, priorisieren (mittel bis hoch); interne Tools, die nur vertrauenswürdigen Text rendern, haben tiefere Priorität
- Die Korrektur des Upstream-Projekts nach Veröffentlichung einspielen und bis dahin die oben genannten Massnahmen umsetzen
- Upstream-Projekt und CVE-Einträge auf Aktualisierungen überwachen
Öffentliche Exploits
In PoC-in-GitHub, Metasploit und Exploit-DB ist für diese CVE nichts verzeichnet.
Quellen der Recherche
- python-markdown2 GitHub repository github.com
- Upstream issue #750 github.com
- Upstream pull request #751 github.com
- VulnCheck advisory www.vulncheck.com
- markdown2.py at 2.5.5 (_find_balanced) github.com
- Ubuntu CVE-2026-118694 ubuntu.com
Recherchiert und auf Deutsch und Englisch aufbereitet von einer KI (Claude von Anthropic) auf Basis von NVD, CISA, EPSS und den genannten Quellen. Massgebend sind die Angaben des Herstellers. Recherche vom 31.10.2026 23:44.
Referenzen der NVD (6)
- https://github.com/trentm/python-markdown2
- https://github.com/trentm/python-markdown2/blob/2.5.5/lib/markdown2.py#L1478-L1492
- https://github.com/trentm/python-markdown2/blob/2.5.5/lib/markdown2.py#L3029
- https://github.com/trentm/python-markdown2/issues/750
- https://github.com/trentm/python-markdown2/pull/751
- https://www.vulncheck.com/advisories/python-markdown2-through-2.5.5-denial-of-service-via-unclosed-inline-lin…
Quellen
Der Tracker verbindet offizielle, frei nutzbare Datenquellen – laufend aktualisiert:
- NVD (NIST) – CVE, Bewertung (CVSS), betroffene Produkte
- CISA KEV – von der CISA bestätigt aktiv ausgenutzte Lücken
- CISA Vulnrichment – Einschätzung der CISA (SSVC) im offiziellen CVE-Eintrag
- FIRST EPSS – Wahrscheinlichkeit einer Ausnutzung
- Microsoft MSRC – Patch Tuesday: Lücken, Schweregrad, Updates
- PoC-in-GitHub – öffentliche Proof-of-Concept-Repositories
- Metasploit (Rapid7) – Module des Metasploit Framework
- Exploit-DB (OffSec) – Archiv öffentlicher Exploits (nur Verweise)
- Patch-Tage: offizielle Seiten der Hersteller (je Hersteller verlinkt) (Patch-Tage der Hersteller)
Dieses Angebot nutzt Daten der NVD-API, ist aber von der NVD weder unterstützt noch zertifiziert. EPSS-Daten © FIRST.org.
Betroffen? Wir helfen.
Wir prüfen, ob Ihre Systeme betroffen sind, spielen Updates ein und schliessen die Lücke – auf Wunsch auch laufend mit dem System Health Checker.
