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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-42945 — يحلل CVE-2026-42945، وهو تجاوز سعة الكومة في إعادة كتابة NGINX، ويوفر كاشفًا تفاضليًا، وإثبات مفهوم (PoC) لحرمان الخدمة (DoS) حتميًا، ومنفذ تنفيذ التعليمات البرمجية عن بُعد (RCE) معتمدًا مع التحقق. | Kitploit
أدوات/GitHubGitHub/franklinf25/cve-2026-42945
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليماستغلال الملفات الثنائية
GitHubfranklinf25/cve-2026-42945

cve-2026-42945

يحلل CVE-2026-42945، وهو تجاوز سعة الكومة في إعادة كتابة NGINX، ويوفر كاشفًا تفاضليًا، وإثبات مفهوم (PoC) لحرمان الخدمة (DoS) حتميًا، ومنفذ تنفيذ التعليمات البرمجية عن بُعد (RCE) معتمدًا مع التحقق.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-42945 — تجاوز سعة الكتابة في إعادة كتابة NGINX: تحليل، رفض الخدمة، ونقل RCE موثّق

بحث أمني حول CVE-2026-42945 (CVSS 4.0 9.2 حرج): تجاوز سعة مخزن مؤقت في محرك السكربت الخاص بـ NGINX حيث تترك rewrite مع وسائط في الاستبدال (مثل rewrite ^(.*) /new?c=1;) علامة is_args في المحرك مضبوطة ولا يتم مسحها أبدًا — لذا أي التقاط ($1) يتم تقييمه لاحقًا في set/if يُنسخ مع ترميز URI إلى مخزن مؤقت تم تحديد حجمه للطول غير المرمّز. يمكن الوصول إليه قبل المصادقة من قبل أي عميل يحمل URI طلبه %XX أو +.

النتيجة (المرحلة 1): كاشف تفاضلي آمن (الإصدار الضعيف 1.30.0 مقابل الإصدار المُصلَح 1.30.1، بدون أي انهيارات) بالإضافة إلى (SIGSEGV، مع تفريغ أساسي — يتم تقديم الاستجابة بالكامل أولاً). تم إعادة إنتاج كلاهما ضد بنيات مُجمّعة من المصدر عند الالتزام .

رفض خدمة حتمي للعامل
71d62c6

النتيجة (المرحلة 2): نقل موثّق لـ RCE الخاص بالمُبلّغ — تنفيذ system() كمستخدم العامل (nobody)، تم إعادة إنتاجه 3/3 مرات بنجاح ضد البنية المثبتة للمُبلّغ والمُعاد إنتاجها تحت lab/rce/. تقنية الاستغلال هي Leo Lin (DepthFirst)؛ انظر ما هو أصلي هنا مقابل العمل السابق وقسم العمل السابق في التقرير.

مصفوفة التحقق

الادعاءالدليل
السبب الجذري مشتق من التزام الإصلاح (وليس من المدونات)finding-sheet
الإصلاح عبارة عن سطر واحد — e->is_args = 0; في ngx_http_script_regex_end_code()الالتزام 524977e (مقتبس في writeup)
كاشف آمن: ضعيف مقابل مُصلَح كمرجع، بدون انهياراتpoc/diagnose.py — بصمة الاقتطاع (/foo%25b مقابل /foo%bar)
مصفوفة التشغيل: URI مقتبس/بعلامة زائد و أحرف قابلة للترميز في الالتقاط — كلاهما مطلوببطارية فحص poc/diagnose.py بما في ذلك عنصر التحكم /a%41b
رفض خدمة حتمي للعامل (SIGSEGV، تفريغ أساسي، استجابة تُقدَّم أولاً)poc/crash.py — تغيير X-Worker-PID يثبت موت العامل
الإصدار المُصلَح 1.30.1 ينجو من الهجوم المطابقpoc/crash.py --host 127.0.0.1:29544 — نجا 3/3 جولات
RCE (المرحلة 2، تقنية المُبلّغ، نقل موثّق)exploit/rce.py — 3/3 تشغيلات، ملف إثبات + uid=65534(nobody)، العمال exited on signal 11 بعد التنفيذ

بدء سريع

root@kitploit:~
# زوج تفاضلي: nginx 1.30.0 (:29543) + 1.30.1 (:29544) مُجمّع من المصدر
cd lab && docker compose up -d --build && cd ..

python3 poc/diagnose.py                          # مرجع آمن — لا يُنهي أي عامل أبدًا
python3 poc/crash.py --host 127.0.0.1:29543      # 1.30.0: العامل يموت على الإشارة 11، تفريغ أساسي
python3 poc/crash.py --host 127.0.0.1:29544      # 1.30.1: ينجو من كل جولة

docker logs cve-42945-vuln 2>&1 | grep 'exited on signal' | tail -3

المرحلة 2 — RCE ضد البنية المثبتة للمُبلّغ (مراجعة تطوير nginx 98fc3bb7 = release-1.29.8-14، ASLR معطّل بواسطة نقطة الدخول المثبتة):

root@kitploit:~
docker compose -f lab/rce/docker-compose.yml up -d --build   # :29545، دقائق للبناء

python3 exploit/rce.py \
  --cmd 'echo pwned-by-cve-2026-42945 > /tmp/proof' --verify --expect pwned
docker compose -f lab/rce/docker-compose.yml exec nginx cat /tmp/proof

المستندات

المستندما هو
docs/finding-sheet.mdورقة بيانات من صفحة واحدة: الإصدارات، CVSS، نمط التكوين، شروط التشغيل، توقيعات الكشف
docs/report-ptes.mdتقرير منظم وفق PTES (7 مراحل)، مقتصر على ما تم إنجازه فعليًا
docs/research-writeup.mdسرد التحقيق — علم آثار التزام الإصلاح، مفاجأة الاقتطاع، دروس قابلة للنقل، عمل مستقبلي

ما هو أصلي هنا مقابل العمل السابق

سلسلة البحث في المرحلة 1 هي عمل أصلي: المرجع التفاضلي الخالي من الانهيارات وبصمة الاقتطاع الخاصة به (الجسم المُقدَّم هو الالتقاط المُعاد ترميزه والمقتطع إلى الطول الخام — التوقيع المرئي لعدم تطابق التمريرين الطول/القيمة)، ومصفوفة التشغيل التي تثبت أن كلا الشرطين المسبقين ضروريان، والشرح على مستوى المصدر لـلماذا لا يمكن لتمرير الطول رؤية is_args، وقتل العامل الحتمي بعد الاستجابة. الثغرة نفسها، ونمط التكوين الضعيف، وتحليل التزام الإصلاح هي عمل سابق للمُبلّغ والمشروع الرئيسي — Leo Lin (DepthFirst) كشف المشكلة وRoman Arutyunyan أصلحها؛ انظر قسم العمل السابق في التقرير و DepthFirst Disclosures — Nginx-Rift، شجرة CVE-2026-42945.

المرحلة 2 (RCE) هي نقل لاستغلال المُبلّغ المنشور، وليست سلسلة مستقلة: هندسة الكومة عبر الطلبات التي تُرسل التجاوز إلى مؤشر cleanup لمجمع طلب مجاور، ورشّ ngx_pool_cleanup_t المزيف عبر أجسام POST محتجزة، وإعادة توجيه توزيع التنظيف إلى system() في libc، وهندسة التجاوز (349 A + 969 + + 6 بايتات هدف)، وثوابت الأساس/الإزاحة بدون ASLR، والبنية المثبتة في lab/rce/ (بيئة env/ الخاصة بهم) — كلها تصميم Leo Lin، مُعاد إنتاجها مع الإشادة في exploit/rce.py. ما يخصنا في المرحلة 2: النقل نفسه — اصطلاحات CLI/التسجيل/التحقق لهذا المستودع، اكتشاف المرشح الحي عبر فحص الكومة والكشف التلقائي للأساس (ثوابتهم الثابتة تعتمد على النواة؛ انظر docstring الخاص بالاستغلال)، ومستمع الصدفة العكسية من المكتبة القياسية، وأدلة التحقق.

بحث مصاحب

يشارك هذا المستودع منهجيته مع CVE-2026-42533 — NGINX Pre-Auth Heap Overflow: Analysis & RCE (مستودع شقيق): نفس فئة خطأ التمريرين الطول/القيمة في محرك سكربت nginx، تم الوصول بها هناك إلى سلسلة RCE كاملة قبل المصادقة. تلك السلسلة حددت السقف المعقول لهذه الثغرة؛ المرحلة 2 من هذا المستودع تصل إلى نفس السقف هنا — كنقل موثّق لتقنية المُبلّغ، وليست سلسلة مستقلة.

هيكل المستودع

root@kitploit:~
docs/            ورقة البيانات · تقرير PTES · تقرير البحث
poc/             diagnose.py (مرجع تفاضلي آمن) · crash.py (رفض خدمة حتمي)
exploit/         rce.py — نقل موثّق لسلسلة system() الخاصة بالمُبلّغ
lab/             Dockerfile (nginx من المصدر، -g -O0) + زوج compose تفاضلي
lab/nginx/       vulnerable.conf — تكوين PoC من التزام الإصلاح
lab/rce/         بيئة RCE المثبتة للمُبلّغ (env/ الخاصة بهم، تعيين النقل الخاص بنا)

المراجع

  • التزام الإصلاح: 524977e7c534 "Rewrite: fixed escaping and possible buffer overrun" (Roman Arutyunyan) — صدر في nginx 1.30.1
  • Red Hat: RHSA-2026:17790 وما يليه (تصحيح واسع للمشاريع المشتقة)
  • DepthFirst Disclosures — Nginx-Rift، شجرة CVE-2026-42945 (العمل السابق للمُبلّغ؛ Leo Lin)

أداة بحث تعليمية. شغّلها فقط ضد أنظمة تملكها أو مُصرَّح لك صراحةً باختبارها. الثغرة مُصحَّحة — قم بترقية nginx إلى ≥ 1.30.1.

تنزيل الأداة