Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-9147-uproot-rce — uproot <= 5.7.4 Code-Injektion durch unsichere Generierung von Python-Quellcode aus ROOT-TStreamerInfo-Metadaten. | Kitploit
Tools/GitHubGitHub/saiteja-erukude/cve-2026-9147-uproot-rce
Payload-GenerierungSchwachstellenanalyseExploitation
GitHubsaiteja-erukude/cve-2026-9147-uproot-rce

CVE-2026-9147-uproot-rce

uproot <= 5.7.4 Code-Injektion durch unsichere Generierung von Python-Quellcode aus ROOT-TStreamerInfo-Metadaten.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
26vor 11 TagenNoch nicht geprüft
Teilen

CVE-2026-9147: uproot-Code-Injection über TStreamerInfo-Metadaten

Schweregrad: Hoch, CVSS 4.0 8.5, CVSS 3.1 7.8 (vergeben von VulnCheck, der CNA)

Vektor (v4.0): CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Vektor (v3.1): CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Betroffen: uproot <= 5.7.4

Behoben in: 5.7.5 / Commit c045c28

CWE: CWE-94 (Improper Control of Generation of Code, Code Injection); sekundär CWE-95 (Eval Injection)

Entdeckt und gemeldet von: Sai Teja Erukude

Veröffentlicht: 18. Juli 2026


Zusammenfassung

uproot 5.7.4 und frühere Versionen generieren dynamisch Python-Klassenquellcode aus ROOT-TStreamerInfo-Metadaten und kompilieren diesen zur Laufzeit.

Einige dateigesteuerte Streamer-Metadatenfelder werden ohne sichere Quotierung in den generierten Python-Quellcode interpoliert. Ein Angreifer, der eine manipulierte ROOT-Datei bereitstellen kann, kann Inhalte, die Python-Ausdrücke aufbrechen, in Streamer-Metadaten einschleusen, etwa einen manipulierten Elementnamen.

Wenn eine betroffene Anwendung die manipulierte ROOT-Datei öffnet und uproot die entsprechende Reader-Methode generiert und aufruft, kann der eingeschleuste Python-Ausdruck im Kontext des hostenden Prozesses ausgeführt werden.

Auswirkung

Ein Angreifer kann beliebigen Python-Code in Anwendungen ausführen, die vom Angreifer kontrollierte ROOT-Dateien über betroffene uproot-Codepfade öffnen oder verarbeiten.

Je nach Anwendung kann dies ermöglichen:

  • Lesen oder Ändern von Dateien, auf die der Prozess Zugriff hat.
  • Zugriff auf Umgebungsvariablen und Anwendungsgeheimnisse.
  • Aufrufen interner Dienste, die vom Host aus erreichbar sind.
  • Stören von Datenverarbeitungsjobs oder des Anwendungsverhaltens.

Technisches Detail

Das Problem liegt im Pfad zur Generierung von Quellcode für ROOT-Streamer-Metadaten in uproot.

Der PoC erstellt eine ROOT-Datei mit manipulierten TStreamerInfo-Metadaten für eine Klasse ExploitTarget. Der manipulierte Streamer-Elementname bricht aus dem generierten Ausdruck aus und schleust einen harmlosen pathlib-Aufruf ein.

Das gemeldete Verhalten ist:

  1. uproot öffnet die manipulierte ROOT-Datei.
  2. uproot liest dateigestützte TStreamerInfo-Metadaten.
  3. uproot generiert Python-Klassenquellcode für ExploitTarget.
  4. Der generierte Klassenquellcode enthält den eingeschleusten Ausdruck.
  5. Der Aufruf der generierten Methode read_members führt den eingeschleusten Ausdruck aus.

Proof of Concept

root_file_builder.py erstellt malicious_tstreamerinfo.root mit manipulierten Streamer-Metadaten.

run_poc.py öffnet die Datei mit uproot, erzwingt die Generierung der dateigestützten Klasse ExploitTarget, ruft die generierte Methode read_members auf und verifiziert den Nachweis über eine Marker-Datei.

Nur in einer lokalen Testumgebung ausführen:

python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
python -B run_poc.py

Erwartete Nachweise bei anfälligen Versionen:

uproot_version: 5.7.4
file_backed_element_name_contains_payload: True
class_code_contains_injected_pathlib_call: True
expected_exception: True
exception_type: DeserializationError
marker_exists: True
marker_contents:
executed through uproot generated read_members
success: True

Die Payload ist absichtlich harmlos. Sie schreibt lediglich diese lokale Marker-Zeichenkette:

executed through uproot generated read_members

Es startet keine Shell, verbindet sich mit keinem Netzwerkdienst, liest keine Secrets, löscht keine Daten und verändert keine Dateien außerhalb des PoC-Verzeichnisses.

Behebung

Aktualisieren Sie auf uproot 5.7.5 oder höher.

Falls ein sofortiges Upgrade nicht möglich ist:

  • Verarbeiten Sie keine ROOT-Dateien von nicht vertrauenswürdigen Benutzern.
  • Isolieren Sie ROOT-Dateiverarbeitungsjobs mit minimalen Berechtigungen.
  • Validieren oder verwerfen Sie unerwartete TStreamerInfo-Metadaten, bevor Sie sie verarbeiten.
  • Vermeiden Sie Workflows, die hochgeladene oder extern bereitgestellte ROOT-Dateien automatisch öffnen.

Offenlegungszeitplan

DatumEreignis
20. Mai 2026Schwachstelle bei VulnCheck eingereicht
20. Mai 2026VulnCheck initiierte die Kontaktaufnahme; CVE-2026-9147 vorläufig zugewiesen
5. Juli 2026uproot 5.7.5 mit Patch veröffentlicht
18. Juli 2026CVE-2026-9147 veröffentlicht

Danksagung

Entdeckt und gemeldet von Sai Teja Erukude.

Die Offenlegung wurde über VulnCheck koordiniert.

Referenzen

  • CVE-Eintrag: https://www.cve.org/CVERecord?id=CVE-2026-9147
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-9147
  • VulnCheck-Advisory: https://www.vulncheck.com/advisories/uproot-and-before-code-injection-via-tstreamerinfo-metadata
  • GitHub-Advisory: https://github.com/scikit-hep/uproot5/security/advisories/GHSA-6946-mq52-g438
  • Patch-Commit: https://github.com/scikit-hep/uproot5/commit/c045c2824295d907d2e705f31110c742928e50e7
  • uproot-Projekt: https://github.com/scikit-hep/uproot5
Tool herunterladen