
Exploit de prueba de concepto para CVE-2026-11113, que demuestra la inyección de cabeceras SMTP en un formulario de contacto de Flask mediante una entrada de correo electrónico sin sanitizar; incluye un servidor vulnerable y un script de exploit.
# contact_form_server.py - Mails feedback without sanitizing headers
from flask import Flask, request
import smtplib
app = Flask(__name__)
@app.route('/contact', methods=['POST'])
def contact():
sender = request.form['email']
message = request.form['message']
# Vulnerable: constructs raw headers with user input
headers = f"From: {sender}\r\nTo: [email protected]\r\nSubject: Feedback"
msg = f"{headers}\r\n\r\n{message}"
# Insecurely sending via SMTP (simulated print)
print("Would send:\n", msg)
return "Message sent"
if __name__ == '__main__':
app.run(port=5000)
Un formulario de contacto inserta directamente la dirección de correo electrónico proporcionada por el usuario en la cabecera del mensaje sin saneamiento. Un atacante puede inyectar caracteres de nueva línea para añadir cabeceras SMTP arbitrarias, como Bcc, lo que permite el reenvío de spam y el phishing.
pip install flask
python contact_form_server.py
python exploit_smtp_header_injection.py
El servidor imprime un mensaje con las líneas Bcc inyectadas, demostrando cómo los destinatarios adicionales recibirían el correo electrónico.