
# أداة فحص ثغرات PostgreSQL غير مدمرة لـ CVE-2026-6471 أداة فحص غير مدمرة لثغرات PostgreSQL تختص بـ CVE-2026-6471. تقوم بتدقيق إصدار الخادم وصلاحيات REPLICATION لتحديد التعرض لثغرة تفويض فك الترميز المنطقي، مع إرشادات للمعالجة.
PostGREShell 🛢️
أداة فحص دفاعية غير مدمرة للتحقق من ثغرة 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;
راجع كل حساب يتم إرجاعه.
إذا كان الحساب لا يتطلب صلاحيات النسخ المتماثل، فقم بإزالة الصلاحيات غير الضرورية وفقًا لمتطلباتك التشغيلية.