Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
docling-core-CVE-2026-24009 — Technischer Bericht und PoC für CVE-2026-24009, der unsicheres YAML-Laden in docling-core demonstriert und praktische Minderungswege aufzeigt. | Kitploit
Tools/GitHubGitHub/biranperetz/docling-core-cve-2026-24009
SchwachstellenanalyseCode-AnalyseExploitationPapers & ForschungLernen & Bildung
GitHubbiranperetz/docling-core-cve-2026-24009

docling-core-CVE-2026-24009

Technischer Bericht und PoC für CVE-2026-24009, der unsicheres YAML-Laden in docling-core demonstriert und praktische Minderungswege aufzeigt.

Repository anzeigen
5vor 6 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-24009 — docling-core Unsichere YAML-Deserialisierung (PoC + Hinweise)

Dieses Repository enthält einen Proof-of-Concept (PoC) und einen einfachen Scanner, die CVE-2026-24009 demonstrieren, bei dem docling-core unter bestimmten Abhängigkeitsbedingungen die Codeausführung beim Laden von angreiferkontrolliertem YAML ermöglichen kann.

TL;DR

Auswirkung: potenzielle RCE während der YAML-Analyse Verwundbare Kette (alle erforderlich):

  • docling-core >= 2.21.0 und < 2.48.4
  • PyYAML < 5.4 (Upstream-Verhalten im Zusammenhang mit CVE-2020-14343)
  • Die Anwendung ruft DoclingDocument.load_from_yaml(...) mit nicht vertrauenswürdigem YAML auf

Fix: Upgrade von docling-core auf >= 2.48.4 (Wechsel zu yaml.SafeLoader) Upgrade von auf


Alternativer Fix:
PyYAML
>= 5.4

Hintergrund / Grundursache

DoclingDocument.load_from_yaml() deserialisiert ein YAML-serialisiertes DoclingDocument. In verwundbaren Versionen wird YAML mit einem unsicheren Loader (yaml.FullLoader) geladen, wenn PyYAML verwundbar ist, wodurch bösartige YAML-Konstruktoren während der Analyse Code ausführen können (weitere Informationen finden Sie unter CVE-2020-14343).


Getestete Umgebung (PoC)

  • Betriebssystem: Ubuntu 24.04
  • Python: 3.12.3
  • docling-core: 2.48.3 (verwundbar)
  • PyYAML: 5.3.1 (verwundbar)

Reproduktion (PoC)

1) Virtuelle Umgebung erstellen

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install "docling-core==2.48.3" "PyYAML==5.3.1"

2) (Optional) Den verwundbaren Loader bestätigen

Ausführen:

root@kitploit:~
python check_loader.py

In verwundbaren Versionen verwendet load_from_yaml():

root@kitploit:~
data = yaml.load(f, Loader=yaml.FullLoader)

3) Den PoC ausführen

root@kitploit:~
python repro_docling_load.py

Erwartetes Verhalten:

  • repro_docling_load.py löst eine ValidationError aus (erwartet)
  • Eine lokale Markierungsdatei wird erstellt: /tmp/docling_cve_poc_marker

Dies demonstriert, dass die Ausführung während der YAML-Analyse erfolgte, bevor DoclingDocument.model_validate(...) fehlschlägt.


Schadensbegrenzung / Patch-Überprüfung

Schadensbegrenzung 1 — Upgrade von docling-core (empfohlen)

root@kitploit:~
python -m pip install --upgrade "docling-core==2.48.4"
python check_loader.py
python repro_docling_load.py

Erwartet:

  • check_loader.py zeigt yaml.SafeLoader
  • Der PoC schlägt mit einem YAML-Konstruktorfehler fehl und es wird keine Markierungsdatei erstellt

Schadensbegrenzung 2 — Upgrade von PyYAML

Ein Upgrade von PyYAML auf >= 5.4 entschärft das Upstream-Verhalten im Zusammenhang mit CVE-2020-14343.

Schadensbegrenzung 3 — Sicheres Laden erzwingen

Wenn ein Upgrade nicht möglich ist, vermeiden Sie das Laden nicht vertrauenswürdigen YAMLs mit unsicheren Loadern. Erzwingen Sie yaml.SafeLoader beim Deserialisieren nicht vertrauenswürdigen YAMLs.


Hinweise zur nachgelagerten docling-Exposition (Abhängigkeitszuordnung)

Während diese CVE in docling-core liegt, ist der häufigste Konsument docling. Ein breiter Abhängigkeitsbereich in docling beweist für sich genommen keine Verwundbarkeit; entscheidend ist die aufgelöste Umgebung (Lockfiles / installierte Pakete) und ob YAML-Importpfade verwendet werden.

Dieses Repository enthält collect_versions.py, das Folgendes zuordnet:

  • deklarierte docling-core-Einschränkungen aus pyproject.toml
  • gepinnte docling-core-Versionen aus uv.lock (oder poetry.lock in älteren Tags)

Aus den extrahierten Daten sind die potenziell verwundbaren docling-Versionen (Einschränkung erlaubt verwundbar + Lock pinnt verwundbar):

  • >= v2.27.0 und <= v2.57.0

Dies ist ein Indikator für die Abhängigkeitsauflösung, kein Beweis dafür, dass Standard-docling-Workflows load_from_yaml() mit nicht vertrauenswürdigen Eingaben erreichen.


Repository-Inhalte (Überblick)

  • repro_docling_load.py — minimaler PoC-Runner
  • check_loader.py — gibt den von load_from_yaml() verwendeten YAML-Loader aus
  • scanner/ — ein einfacher abhängigkeitsbasierter Scanner (optionaler direkter Sink-Check)
  • collect_versions.py — Hilfsprogramm zum Zuordnen von docling-Tags zu gepinnten docling-core-Versionen
Tool herunterladen