Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/hackspeak/cve-2026-14669
تحليل الثغرات الأمنيةالاستغلالاختبار الاختراقتطوير الحمولاتأمن قواعد البياناتاستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubhackspeak/cve-2026-14669

CVE-2026-14669

استغلال إثبات المفهوم للثغرة CVE-2026-14669، وهي تجاوز سعة المخزن المؤقت في الكومة (heap buffer overflow) في اختصار المنطقة الزمنية لدالة to_char() في PostgreSQL، مما يتيح تنفيذ التعليمات البرمجية عن بُعد (RCE) عبر تسريب المعلومات وسلسلة ROP؛ يتضمن مختبر Docker وإثبات مفهوم آلي.

عرض المستودع
314منذ 22 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2026-14669 - تجاوز سعة المخزن المؤقت في الكومة لاختصار المنطقة الزمنية في دالة to_char() في PostgreSQL

توجد ثغرة تجاوز سعة المخزن المؤقت في الكومة (Heap Buffer Overflow) في دالة to_char() الخاصة بـ PostgreSQL عند معالجة تنسيق المنطقة الزمنية. يمكن للمهاجم، عبر تعيين اختصار منطقة زمنية طويلة جدًا بصيغة POSIX، إحداث كتابة خارج الحدود في مخزن مؤقت ثابت بحجم 25 بايت، وبالدمج مع تسريب المعلومات وسلسلة ROP يمكن تحقيق تنفيذ تعليمات برمجية عن بُعد.

معلومات الثغرة

  • معرّف CVE: CVE-2026-14669
  • تقييم CVSS: 8.8 (مرتفع)
  • نوع الثغرة: تجاوز سعة المخزن المؤقت في الكومة → تنفيذ تعليمات برمجية عن بُعد
  • المكوّن المتأثر: دالة to_char(timestamptz) في PostgreSQL
  • فريق الاكتشاف: V12 Security

الإصدارات المتأثرة

سلسلة PostgreSQLالنطاق المتأثر
18.x18.0 – 18.5
17.x17.0 – 17.10
16.x16.0 – 16.14
15.x15.0 – 15.18
14.x14.0 – 14.23

الإصدارات المُصحَّحة

  • PostgreSQL 18.6+
  • PostgreSQL 17.11+
  • PostgreSQL 16.15+
  • PostgreSQL 15.19+
  • PostgreSQL 14.24+

مبدأ الثغرة

يستخدم مسار المعالجة DCH_TZ / DCH_tz في formatting.c مخزنًا مؤقتًا ثابتًا على المكدس بحجم 25 بايت لتخزين اختصار المنطقة الزمنية، دون أي فحص لطول الإدخال. عندما يتجاوز اختصار المنطقة الزمنية 24 بايت، تقوم دالة strcpy() بكتابة خارج الحدود في ذاكرة الكومة.

مسار الاستغلال:

root@kitploit:~
SET TIME ZONE '<超长缩写>+00';
SELECT to_char(now()::timestamptz, 'TZ');
  ↓
DCH_to_char() → DCH_from_char_action()
  ↓
strcpy(buf, tmtcTzn(...))  ← 堆溢出

شروط الاستغلال

  • بيانات اعتماد مصادقة قاعدة بيانات صالحة (أدنى صلاحية بمستوى USAGE)
  • منفذ قاعدة بيانات يمكن الوصول إليه عبر TCP
  • القدرة على تنفيذ عبارات SQL

سلسلة الاستغلال الكاملة

يتكوّن PoC الصادر عن V12 Security من ثلاث مراحل:

المرحلة الأولى: تسريب المعلومات

يؤدي تجاوز سعة الكومة إلى إتلاف كائنات الكومة المجاورة، مما يسرّب العنوان الأساسي لـ PIE ومؤشرات الكومة لكسر آلية ASLR.

المرحلة الثانية: بناء سلسلة ROP

يتم ترتيب سلسلة أدوات ROP (gadgets) في الكومة باستخدام الكائنات الكبيرة (Large Objects) أو حقول bytea.

المرحلة الثالثة: اختطاف تدفق التحكم

تستغل عملية التجاوز الثانية مؤشرات الدوال في الكومة للقفز إلى سلسلة ROP وتنفيذ أوامر عشوائية (بصلاحية مستخدم postgres).

ملفات PoC

  • poc.py - سكربت استغلال كامل (210 سطرًا، يستهدف PostgreSQL 19beta1)
  • requirements.txt - تبعيات Python (psycopg, pwntools)
  • docker-compose.yml - بيئة اختبار الثغرة

طريقة الاستخدام

1. تشغيل بيئة الاختبار

root@kitploit:~
docker-compose up -d

انتظر اكتمال تشغيل الحاوية (نجاح فحص الصحة):

root@kitploit:~
docker logs pg-tzlab

2. تثبيت التبعيات

root@kitploit:~
pip install -r requirements.txt

3. تشغيل PoC

root@kitploit:~
python3 poc.py

الاتصال الافتراضي يكون بـ 127.0.0.1:55432، واسم المستخدم postgres، وكلمة المرور postgres.

بعد نجاح الاستغلال، يمكن رؤية مخرجات تنفيذ الأوامر في سجلات الحاوية:

root@kitploit:~
docker logs pg-tzlab | grep PWNED

4. التكوين المخصص

عدّل الثوابت في poc.py:

  • HOST, PORT - عنوان الهدف
  • DEFAULT_COMMAND - الأمر المراد تنفيذه

⚠️ مهم: يقوم هذا الـ PoC بترميز عناوين الإزاحة لبناء معيّن (صورة Docker postgres:19beta1، sha256:a6bdd01...). تتطلب الإصدارات الأخرى إعادة تحديد مواقع الـ gadgets.

إجراءات التخفيف

  1. قم بالترقية فورًا إلى الإصدار المُصحَّح (الأكثر فعالية)
  2. عزل الشبكة: قيّد منفذ قاعدة البيانات ليكون متاحًا فقط للمضيفين الموثوقين
  3. تقليل الحسابات: أزل الحسابات غير الضرورية وفرض كلمات مرور قوية
  4. المراقبة والتنبيه: راقب عبارات SET TIME ZONE الطويلة جدًا (أكثر من 50 حرفًا)

إخلاء المسؤولية

⚠️ هذا الـ PoC مخصص فقط لأغراض البحث الأمني والتحقق من الثغرات والاختبارات الدفاعية.

  • يرجى تشغيله في بيئة اختبار قابلة للتدمير (مختبر Docker)
  • لا تستخدمه ضد بيئات غير مصرّح بها أو بيئات الإنتاج
  • الاستغلال قد يؤدي إلى انهيار عملية الخادم المستهدف أو اختطاف تدفق التحكم

استخدام هذا الـ PoC يعني موافقتك على الالتزام بالقوانين واللوائح المحلية وحدود التصريح الخاصة بالنظام المستهدف.

الروابط المرجعية

  • الإعلان الأمني الرسمي لـ PostgreSQL
  • بيان إصدار PostgreSQL
  • commit الإصلاح في المستودع الأعلى
  • التحليل الفني من V12 Security
  • مستودع الـ PoC الأصلي

المؤلف الأصلي

  • الـ PoC الأصلي: فريق V12 Security
  • المستودع الأصلي: https://github.com/v12-security/pocs
  • الترخيص: المستودع الأعلى لا يحتوي على ملف LICENSE، هذا المستودع يعتمد MIT License
  • هذا المستودع: إصدار توزيع معكوس (Mirror) مع الاحتفاظ بنسبة الفضل للمؤلف الأصلي
تنزيل الأداة