
# أداة فحص ثغرات PostgreSQL غير مدمرة لـ CVE-2026-6471 أداة فحص غير مدمرة لثغرات PostgreSQL تختص بـ CVE-2026-6471. تقوم بتدقيق إصدار الخادم وصلاحيات REPLICATION لتحديد التعرض لثغرة تفويض فك الترميز المنطقي، مع إرشادات للمعالجة.
أداة فحص دفاعية غير مدمرة للتحقق من ثغرة CVE-2026-6471
CVE-2026-6471 هي ثغرة أمنية في تفويض الصلاحيات في PostgreSQL تتعلق بنظام فك الترميز المنطقي (logical decoding).
يمكن أن تسمح هذه الثغرة لدور (role) في PostgreSQL يمتلك صلاحية REPLICATION، دون أن يكون مستخدمًا خارقًا (superuser)، بجعل خادم PostgreSQL يقوم بتحميل مكتبة يتحكم بها المهاجم ويمكن الوصول إليها من حساب نظام التشغيل الخاص بـ PostgreSQL.
يمكن أن يؤدي الاستغلال الناجح إلى تنفيذ كود عشوائي بصلاحيات عملية خادم PostgreSQL.
يوفر هذا المستودع إثبات مفهوم (PoC) آمن للكشف مصممًا لتقييمات الأمان المصرح بها.
⚠️ لا يتم تحميل أي مكتبة مشتركة ضارة ولا يتم تنفيذ أي أمر على نظام التشغيل بواسطة أداة الفحص.
| الخاصية | القيمة |
|---|---|
| CVE | CVE-2026-6471 |
| المنتج | PostgreSQL |
| المكوّن | فك الترميز المنطقي (Logical Decoding) |
| CWE | CWE-862 — تفويض مفقود (Missing Authorization) |
| CVSS v3.1 | 7.2 عالية (High) |
| متجه الهجوم | الشبكة |
| تعقيد الهجوم | منخفض |
| الصلاحيات المطلوبة | عالية |
| تفاعل المستخدم | لا شيء |
| السرية | عالية |
| السلامة | عالية |
| التوفر | عالية |
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
في ظل الظروف القابلة للاستغلال، قد يتمكن المهاجم الذي يمتلك بالفعل حساب PostgreSQL بصلاحية النسخ المتماثل المطلوبة من عبور حدود الصلاحيات من قاعدة البيانات إلى نظام التشغيل.
┌──────────────────────┐
│ PostgreSQL User │
│ REPLICATION = YES │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Logical Decoding │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Missing Authorization│
│ Validation │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ Library Loading │
└──────────┬───────────┘
│
▼
┌──────────────────────┐
│ PostgreSQL OS User │
└──────────────────────┘
يعتمد الأثر الفعلي بشكل كبير على صلاحيات وأذونات نظام الملفات لحساب نظام التشغيل الخاص بـ PostgreSQL.
يحدد التقرير الأمني لمشروع PostgreSQL الفروع المتأثرة التالية:
| الفرع | المتأثر | الإصدار المُصلَح |
|---|---|---|
| PostgreSQL 14 | < 14.24 | 14.24 |
| PostgreSQL 15 | < 15.19 | 15.19 |
| PostgreSQL 16 | < 16.15 | 16.15 |
| PostgreSQL 17 | < 17.11 | 17.11 |
| PostgreSQL 18 | < 18.6 | 18.6 |
قم بالترقية إلى أحدث إصدار أمني متاح لفرع PostgreSQL الخاص بك.
ينفذ هذا المشروع فحوصات غير مدمرة فقط عن قصد.
يجب أن تتحقق أداة الفحص من:
REPLICATIONSELECT
version() AS postgres_version,
current_user AS current_user,
rolsuper AS is_superuser,
rolreplication AS has_replication
FROM pg_roles
WHERE rolname = current_user;
مثال على الإخراج:
postgres_version : PostgreSQL 17.x
current_user : security_audit
is_superuser : f
has_replication : t
يجب التعامل مع الإصدار القابل للاستغلال مع صلاحيات REPLICATION على أنه يتطلب معالجة.
يتبع إثبات المفهوم سير العمل التالي:
┌───────────────┐
│ PostgreSQL │
│ Connection │
└───────┬───────┘
│
▼
┌─────────────────┐
│ Get Server │
│ Version │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Check Current │
│ Role │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Check │
│ REPLICATION │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Compare Against │
│ Fixed Releases │
└────────┬────────┘
│
┌───────┴────────┐
▼ ▼
Potentially Not
Vulnerable Affected
❌ Load an attacker-controlled .so
❌ Execute arbitrary SQL payloads
❌ Execute operating-system commands
❌ Spawn a reverse shell
❌ Modify PostgreSQL configuration
❌ Modify filesystem contents
❌ Create persistence
❌ Exploit production systems
هذا يجعل أداة الفحص مناسبة لتقييم الثغرات الأمنية الخاضع للرقابة وسير عمل الجرد.
استنساخ المستودع:
git clone https://github.com/<YOUR-USERNAME>/CVE-2026-6471.git
cd CVE-2026-6471
تثبيت تبعية Python المطلوبة:
python3 -m pip install psycopg2-binary
تشغيل أداة الفحص:
python3 CVE-2026-6471.py
مثال:
╔════════════════════════════════════════════════════╗
║ CVE-2026-6471 SAFE CHECK ║
║ PostgreSQL Logical Decoding Audit ║
╚════════════════════════════════════════════════════╝
[+] Connecting to PostgreSQL...
[+] Server version : PostgreSQL 17.x
[+] Current role : security_audit
[+] Superuser : False
[+] Replication : True
[!] PostgreSQL version requires security update
[!] REPLICATION privilege detected
[!] POTENTIALLY VULNERABLE
[!] Upgrade PostgreSQL to a fixed release.

يمكن للمسؤولين فحص الأدوار الممكّنة للنسخ المتماثل باستخدام:
SELECT
rolname,
rolsuper,
rolreplication
FROM pg_roles
WHERE rolreplication = true;
راجع كل حساب يتم إرجاعه.
إذا كان الحساب لا يتطلب صلاحيات النسخ المتماثل، فقم بإزالة الصلاحيات غير الضرورية وفقًا لمتطلباتك التشغيلية.
قم بتثبيت الإصدار المُصلَح المناسب:
14.24+
15.19+
16.15+
17.11+
18.6+
يُفضَّل تثبيت أحدث إصدار أمني متاح من PostgreSQL بدلاً من التوقف عند الحد الأدنى من الإصدار المُصلَح.
تحديد الحسابات ذات صلاحية النسخ المتماثل:
SELECT
rolname,
rolreplication
FROM pg_roles
WHERE rolreplication = true;
إزالة صلاحيات النسخ المتماثل غير الضرورية:
ALTER ROLE <role_name> NOREPLICATION;
قم بتغيير الصلاحيات فقط بعد التأكد من أن الدور غير مطلوب للبنية التحتية المشروعة للنسخ المتماثل.
انتبه بشكل خاص إلى:
SUPERUSER
REPLICATION
LOGIN
CREATEDB
CREATEROLE
استخدم مبدأ الامتياز الأقل أينما أمكن.
تنفيذ مفاهيمي مبسط:
if postgres_version_is_affected:
if role_has_replication:
if not role_is_superuser:
report("POTENTIALLY VULNERABLE")
else:
report("AFFECTED VERSION - SUPERUSER CONTEXT")
else:
report("AFFECTED VERSION - REPLICATION NOT PRESENT")
else:
report("NOT AFFECTED")
الغرض من أداة الفحص هو تحديد التعرض، وليس الاستغلال.
| النتيجة | المعنى |
|---|---|
| 🟢 غير متأثر (NOT AFFECTED) | يعمل PostgreSQL بإصدار مُصلَح |
| 🟡 التحديث مطلوب (UPDATE REQUIRED) | الإصدار يقع ضمن فرع متأثر |
| 🟠 تم اكتشاف نسخ متماثل (REPLICATION DETECTED) | الدور الحالي لديه صلاحية النسخ المتماثل |
| 🔴 قابل للاستغلال محتمل (POTENTIALLY VULNERABLE) | إصدار متأثر + صلاحية ذات صلة |
| ⚪ وصول غير كافٍ (INSUFFICIENT ACCESS) | لا يمكن للماسح فحص معلومات الدور المطلوبة |
REPLICATION. INTERNET
│
▼
┌─────────────┐
│ Firewall │
└──────┬──────┘
│
▼
┌─────────────┐
│ PostgreSQL │
│ Server │
└──────┬──────┘
│
┌─────────┴─────────┐
▼ ▼
Least Privilege Monitoring
│ │
▼ ▼
Role Controls SIEM / Alerts
قم بتقييد التعرض الشبكي لـ PostgreSQL وتجنب تعريض خدمات قاعدة البيانات مباشرة للشبكات غير الموثوقة.
إعداد الاختبار الموصى به:
┌───────────────────────────────────┐
│ Isolated Lab Network │
│ │
│ ┌────────────┐ ┌────────────┐ │
│ │ Scanner │──▶│ PostgreSQL │ │
│ │ Machine │ │ Test Host │ │
│ └────────────┘ └────────────┘ │
│ │
│ No Production Systems │
└───────────────────────────────────┘
استخدم تثبيت PostgreSQL قابل للاستبدال أو بيئة معملية مخصصة عند التحقق من الأدوات الأمنية.
هذا المشروع مخصص بشكل صارم للبحث الأمني الدفاعي وتقييم الثغرات والاختبار المصرح به.
تم تصميم المنهجية المضمنة لتحديد تثبيتات PostgreSQL القابلة للاستغلال المحتملة دون تسليح الثغرة.
لا تستخدم هذا المشروع ضد أنظمة لا تملكها أو ليس لديك إذن صريح لتقييمها.
المؤلف غير مسؤول عن سوء الاستخدام أو الضرر أو فقدان البيانات أو انقطاع الخدمة أو الوصول غير المصرح به الناتج عن هذا المشروع.
أبحاث الأمن السيبراني • تحليل الثغرات • الأدوات الدفاعية
Research → Verify → Document → Remediate
المساهمات مرحب بها.
عند تقديم التحسينات:
إذا ساعدك هذا المشروع في بحثك الأمني، ففكر في منحه ⭐