
Exploit PoC pour CVE-2026-11104 démontrant le contournement du filtre attr de Jinja2 dans Flask, permettant l'injection de modèles côté serveur et l'exécution de code à distance.
|attr de Jinja2# vulnerable_app.py - Flask with Jinja2 SSTI via 'attr' filter
from flask import Flask, request, render_template_string
app = Flask(__name__)
@app.route('/')
def index():
name = request.args.get('name', 'World')
# UNSAFE: directly renders user input as template
template = f"<h1>Hello {name}!</h1>"
return render_template_string(template)
if __name__ == '__main__':
app.run(port=5000)
|attr de Jinja2Une application Flask utilise render_template_string avec une entrée utilisateur, ce qui permet une injection de modèles côté serveur. Même si certains mots-clés sont bloqués, le filtre |attr peut être utilisé pour contourner les filtres et exécuter du code à distance.
pip install flask
python vulnerable_app.py
python exploit_ssti_attr.py