
Exploit proof-of-concept pour CVE-2026-11113, démontrant une injection d'en-têtes SMTP dans un formulaire de contact Flask via une entrée d'email non assainie ; inclut un serveur vulnérable et un script d'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 formulaire de contact insère directement l'adresse e-mail fournie par l'utilisateur dans l'en-tête du message sans assainissement. Un attaquant peut injecter des caractères de nouvelle ligne pour ajouter des en-têtes SMTP arbitraires, tels que Bcc, permettant le relais de spam et l'hameçonnage.
pip install flask
python contact_form_server.py
python exploit_smtp_header_injection.py
Le serveur affiche un message avec les lignes Bcc injectées, démontrant comment des destinataires supplémentaires recevraient l'e-mail.