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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
NGINX_RIFT_SCAN_CVE_2026_42945 — مسح ثغرات CVE في إعادة كتابة Nginx (CVE-2026-42945 nginx-rift CVE-2026-9256) | Kitploit
أدوات/GitHubGitHub/friparia/nginx_rift_scan_cve_2026_42945
التحليل الثابتماسحات الثغرات الأمنيةالاستغلالتدقيق التكوينأمن الويبسوء التكوين
GitHubfriparia/nginx_rift_scan_cve_2026_42945

NGINX_RIFT_SCAN_CVE_2026_42945

مسح ثغرات CVE في إعادة كتابة Nginx (CVE-2026-42945 nginx-rift CVE-2026-9256)

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
349منذ 2 أشهرتمت المراجعة من قبل Kitploit

ماسح تكوين NGINX Rift

اللغة: 中文 | English

هذا نص برمجي خفيف للتحقق من وجود أنماط الخطر في تكوينات NGINX المتعلقة بـ CVE-2026-42945 (NGINX Rift) و CVE-2026-9256.

تم الكشف عن الثغرة بواسطة depthfirst في مقال NGINX Rift: Achieving NGINX RCE via an 18-Year-Old Vulnerability. وفقًا للمقال ووصف F5/NVD، يرتبط الخطر بمجموعات تكوين محددة من ngx_http_rewrite_module: في نفس سياق التكوين، تحتوي سلسلة استبدال rewrite على ?، وتشير rewrite أو if أو set اللاحقة إلى متغيرات التقاط PCRE غير المسماة، مثل $1، $2.

أهداف الفحص

يتحقق هذه الأداة بشكل أساسي من وجود الأنماط عالية الخطورة التالية في ملفات تكوين NGINX.

CVE-2026-42945

تسلسل عالي الخطورة مشابه لما يلي:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
    set $original_endpoint $1;
}

نقطة الخطر ليست rewrite أو set منفردة، بل ترتيب تنفيذها في نفس السياق:

  1. تستخدم rewrite التقاطًا بالتعبير العادي، وتحتوي سلسلة الاستبدال على ?
  2. تستخدم rewrite أو if أو set اللاحقة متغيرات التقاط غير مسماة مثل $1، $2

قد يؤدي هذا المزيج إلى عدم تطابق بين حساب طول محرك النصوص البرمجية لـ NGINX ومرحلة النسخ الفعلية، مما يسبب تجاوز سعة المخزن المؤقت (heap buffer overflow).

CVE-2026-9256

rewrite عالي الخطورة مشابه لما يلي:

root@kitploit:~
location / {
    rewrite /wengine-auth-static/((.*)) /?$1$2 break;
}

شروط الخطر:

  1. يحتوي التعبير العادي على مجموعات التقاط متداخلة، على سبيل المثال في ^/((.*))$ تحتوي $1 على $2
  2. تشير سلسلة الاستبدال في سياق إعادة التوجيه (redirect) أو الوسائط (arguments) إلى مجموعات التقاط متداخلة متعددة، مثل $1$2

ملاحظة: لا يستبعد break الخطر؛ طالما تظهر مجموعات التقاط المتداخلة المتعددة في جزء الوسائط بعد ?، فإنها لا تزال تنتمي إلى سياق الوسائط. إعادة كتابة URI العادية مثل /$1$2 break لا تنتمي إلى شروط تشغيل CVE.

عندما يصادف النص البرمجي هذا النمط، سيتم تمييزه بوضوح على أنه CVE-2026-9256.

النطاق المتأثر

النطاق المتأثر المدرج في مقال depthfirst يشمل:

  • NGINX Open Source 0.6.27 إلى 1.30.1
  • NGINX Plus R32 إلى R36
  • بعض منتجات F5 / NGINX القائمة على NGINX

يرجى الرجوع إلى الإعلان الرسمي لـ F5 أو نشرة الأمان الخاصة بالإصدارات للحصول على الإصدارات التي تم إصلاحها ومصفوفة المنتجات الفعلية. حتى إذا كان الإصدار ضمن النطاق المتأثر، فعادةً ما يكون من الضروري وجود تسلسل تكوين rewrite محدد لتشغيل الثغرة.

يقوم النص البرمجي بإخراج إصدار NGINX الحالي ونتيجة فحص التكوين في نفس الوقت:

  • الإصدار ضمن 0.6.27 - 1.30.1 والتكوين يطابق التسلسل الخطير: يجب ترقية NGINX أو تعديل التكوين.
  • الإصدار ضمن 0.6.27 - 1.30.1 ولكن التكوين لا يطابق التسلسل الخطير: يوصى بالترقية، لكن الأداة لم تجد شرط تشغيل التكوين.
  • التكوين يطابق التسلسل الخطير ولكن الإصدار ليس ضمن النطاق المتأثر: يوصى بمراجعة التكوين والاحتفاظ بالإصدار المصلح.

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

امسح تكوين NGINX الكامل للجهاز الحالي مباشرة:

root@kitploit:~
python3 scan_rift.py

سينفذ النص البرمجي:

root@kitploit:~
nginx -T

إذا لم يكن لدى المستخدم الحالي صلاحية قراءة التكوين الكامل، يرجى استخدام sudo:

root@kitploit:~
sudo python3 scan_rift.py

يمكنك أيضًا مسح ملف تكوين تم تصديره مسبقًا:

root@kitploit:~
python3 scan_rift.py /path/to/nginx-full.conf

على سبيل المثال، قم بتصدير التكوين أولاً ثم امسح:

root@kitploit:~
sudo nginx -T > nginx-full.conf
python3 scan_rift.py nginx-full.conf

شرح المخرجات

عند عدم العثور على تسلسل خطر:

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[+] No vulnerable CVE-2026-42945 sequences or CVE-2026-9256 patterns detected.

[Recommendation]: Current NGINX version is in the affected range, but no vulnerable config pattern was detected. Upgrade is recommended, but config risk was not found by this scanner.

عند العثور على تسلسل مشبوه:

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[!] VULNERABLE SEQUENCE FOUND (CVE-2026-42945):
    Context: location ~ ^/api/(.*)$ {
    [1. Rewrite With ?] rewrite ^/api/(.*)$ /internal?migrated=true;
    [2. Follow-up $N]   set $original_endpoint $1;

[Action Required]: Current NGINX version is affected and vulnerable config was found. Upgrade NGINX or adjust the reported rewrite pattern.

عند العثور على نمط مشبوه لـ CVE-2026-9256:

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[!] VULNERABLE PATTERN FOUND (CVE-2026-9256):
    Context: location ^~ /wengine-auth-static/ {
    [Rewrite Overlapping Captures] rewrite /wengine-auth-static/((.*)) /?$1$2 break;
    [Context] arguments; overlapping refs: $1/$2

[Action Required]: Current NGINX version is affected and vulnerable config was found. Upgrade NGINX or adjust the reported rewrite pattern.

بعد العثور على تطابق، يجب تأكيد يدويًا ما إذا كان سياق التكوين هذا يمكن الوصول إليه من خلال الطلبات الخارجية، وترقية NGINX أو تعديل التكوين في أقرب وقت.

توصيات المعالجة

  • الترقية إلى الإصدارات المصلحة التي نشرها البائع.
  • التحقق من جميع مجموعات rewrite / set في سياقات location و server و if وما شابه.
  • تجنب استخدام متغيرات التقاط غير مسماة مثل $1، $2 بعد rewrite التي تحتوي على ?.
  • تجنب دمج مجموعات التقاط متداخلة متعددة في إعادة التوجيه (redirect) أو الوسائط (arguments)، مثل ^/((.*))$ مع ?$1$2.
  • لا تعتبر break وسيلة لتجنب CVE-2026-9256؛ /?$1$2 break لا يزال يطابق.
  • يمكن استخدام التقاطات المسماة، أو حفظ المتغيرات مسبقًا، أو تقسيم منطق المعالجة، أو إزالة إعادة كتابة سلسلة الاستعلام غير الضرورية.
  • قبل الإصلاح، قم بمعالجة خدمات NGINX القابلة للوصول عبر الإنترنت ووكلاء عكسيين بشكل عاجل.

القيود

هذا النص البرمجي هو أداة فحص ثابتة للتكوين، تهدف إلى اكتشاف الأنماط عالية الخطورة بسرعة، وهو لا يعادل التحقق من استغلال الثغرات.

  • قد يكون هناك إنذارات خاطئة، وتحتاج إلى مراجعة يدوية مع سياق NGINX الفعلي.
  • قد تؤثر التوجيهات المعقدة متعددة الأسطر، أو توسيع include غير الطبيعي، أو التكوينات المولدة ديناميكيًا على نتائج الفحص.
  • عدم العثور على خطر لا يعني الأمان المطلق؛ لا يزال يجب الترقية إلى الإصدار المصلح الرسمي.

المراجع

  • depthfirst: https://depthfirst.com/research/nginx-rift-achieving-nginx-rce-via-an-18-year-old-vulnerability
  • NVD CVE-2026-42945: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
  • F5 Advisory K000161019: https://my.f5.com/manage/s/article/K000161019
تنزيل الأداة
  • لا تعتمد فقط على الحكم على الإصدار؛ ما إذا كان التكوين يحتوي على تسلسل التشغيل هو أيضًا أمر بالغ الأهمية.