Jinja: Befehlsinjektion in from_string-Funktion (SSTI)

Erstellt am 18. Feb. 2019  ·  1Kommentar  ·  Quelle: pallets/jinja

Erwartetes Verhalten

from_string akzeptiert Parameter, die nicht maskiert sind, sodass ein Angreifer Code in die Vorlage einschleusen kann.

Tatsächliches Verhalten

Sollte alles entkommen, passiert.

Zusätzliche Informationen und Konzeptnachweis

https://github.com/JameelNabbo/Jinja2-Code-Ausführung
https://www.exploit-db.com/exploits/46386

Hilfreichster Kommentar

Der Benutzer, der dieses Repository und CVE erstellt hat, weiß nicht, wovon er spricht, und leider müssen wir uns jetzt weiter damit befassen, da er eine Reihe von Leuten unverantwortlich auf eine offiziell klingende Weise über ein Nicht-Problem informiert hat . Eine Antwort darauf finden Sie unter https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1 . Ich habe eine Anfrage an MITRE gesendet, um die CVE für ungültig zu erklären.

Zu sagen, Jina habe eine Schwachstelle, weil from_string existiert, ist so, als würde man sagen, dass jede dynamische Sprache anfällig ist, weil eval existiert, oder jede SQL-Bibliothek anfällig ist, weil sie SQL-Strings auswertet. Das Problem liegt nicht bei diesen Bibliotheken, die alle die richtigen Tools für die Verarbeitung von Benutzereingaben bieten. Eine SQL-Bibliothek hat keine Injection-Schwachstelle, ein Projekt, das eine SQL-Bibliothek nicht ordnungsgemäß verwendet.

SandboxedEnvironment sollte verwendet werden, wenn Sie dennoch riskieren möchten, nicht vertrauenswürdige Vorlagen zu kompilieren, und autoescape sollte verwendet werden, wenn nicht vertrauenswürdige Variablen gerendert werden.

>Alle Kommentare

Der Benutzer, der dieses Repository und CVE erstellt hat, weiß nicht, wovon er spricht, und leider müssen wir uns jetzt weiter damit befassen, da er eine Reihe von Leuten unverantwortlich auf eine offiziell klingende Weise über ein Nicht-Problem informiert hat . Eine Antwort darauf finden Sie unter https://github.com/JameelNabbo/Jinja2-Code-execution/issues/1 . Ich habe eine Anfrage an MITRE gesendet, um die CVE für ungültig zu erklären.

Zu sagen, Jina habe eine Schwachstelle, weil from_string existiert, ist so, als würde man sagen, dass jede dynamische Sprache anfällig ist, weil eval existiert, oder jede SQL-Bibliothek anfällig ist, weil sie SQL-Strings auswertet. Das Problem liegt nicht bei diesen Bibliotheken, die alle die richtigen Tools für die Verarbeitung von Benutzereingaben bieten. Eine SQL-Bibliothek hat keine Injection-Schwachstelle, ein Projekt, das eine SQL-Bibliothek nicht ordnungsgemäß verwendet.

SandboxedEnvironment sollte verwendet werden, wenn Sie dennoch riskieren möchten, nicht vertrauenswürdige Vorlagen zu kompilieren, und autoescape sollte verwendet werden, wenn nicht vertrauenswürdige Variablen gerendert werden.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen