
Exploit de PoC para CVE-2026-11104 que demuestra un bypass del filtro attr de Jinja2 en Flask, lo que permite inyección de plantillas del lado del servidor y ejecución remota de código.
|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 Jinja2Una aplicación Flask utiliza render_template_string con entrada del usuario, lo que permite la inyección de plantillas del lado del servidor. Incluso si se bloquean algunas palabras clave, el filtro |attr puede utilizarse para omitir los filtros y lograr la ejecución remota de código.
pip install flask
python vulnerable_app.py
python exploit_ssti_attr.py