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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
ai-vuln-rediscovery-nginx-cve-2026-42945 — إعادة اكتشاف قابلة للتكرار بمساعدة الذكاء الاصطناعي لـ CVE-2026-42945 تجاوز سعة المخزن المؤقت الكومي في وحدة إعادة كتابة nginx. يتضمن مطالبات تدقيق، محفز PoC، إعادة إنتاج تعطل ASan، وتحليل فني لأغراض البحث الدفاعي. | Kitploit
أدوات/GitHubGitHub/chamsbouzaiene/ai-vuln-rediscovery-nginx-cve-2026-42945
تحليل الثغرات الأمنيةأمن الويبالأوراق والأبحاثالتعلم والتعليمأمن الذكاء الاصطناعياستغلال الملفات الثنائية
GitHubchamsbouzaiene/ai-vuln-rediscovery-nginx-cve-2026-42945

ai-vuln-rediscovery-nginx-cve-2026-42945

إعادة اكتشاف قابلة للتكرار بمساعدة الذكاء الاصطناعي لـ CVE-2026-42945 تجاوز سعة المخزن المؤقت الكومي في وحدة إعادة كتابة nginx. يتضمن مطالبات تدقيق، محفز PoC، إعادة إنتاج تعطل ASan، وتحليل فني لأغراض البحث الدفاعي.

الأكثر شعبية

عرض الكل →

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

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

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

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

إعادة اكتشاف مدعومة بالذكاء الاصطناعي لـ CVE-2026-42945 في nginx

يوثق هذا المستودع تجربة إعادة اكتشاف ثغرة أمنية قابلة للتكرار مدعومة بالذكاء الاصطناعي ضد وحدة ngx_http_rewrite_module في nginx، والتي ارتبطت لاحقًا بـ CVE-2026-42945.

التجربة ضيقة بشكل متعمد. تم توفير الملف الثغري، src/http/ngx_http_script.c، مباشرة للنموذج للمراجعة. هذا ليس ادعاءً بأن نظام الذكاء الاصطناعي وجد المشكلة بشكل مستقل في قاعدة كود nginx الكاملة من الصفر.

ملخص

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

بشكل عام:

  1. استبدال rewrite يحتوي على ? يضبط e->is_args = 1.
  2. في الكود الثغري، لا يتم مسح e->is_args بعد انتهاء إعادة الكتابة.
  3. تعبير set أو if أو إعادة كتابة لاحق ينسخ التقاط تعبير نمطي غير مسمى، مثل $1، يمكن أن يحدد حجم المخزن الوجهة كما لو أن الالتقاط سينسخ خامًا.
  4. ثم يرى تمرير الكتابة e->is_args = 1 القديمة ويقوم بتشفير URI للالتقاط.
  5. يمكن أن يؤدي التشفير إلى توسيع البايتات مثل المسافات من بايت واحد إلى ثلاثة بايتات، لذا يتجاوز تمرير الكتابة التخصيص الذي حسبه تمرير الطول.

يؤكد إعادة الإنتاج المحلي باستخدام AddressSanitizer حدوث تجاوز سعة المخزن المؤقت في الكومة في:

root@kitploit:~
ngx_escape_uri
ngx_http_script_copy_capture_code
ngx_http_rewrite_handler

محتويات هذا المستودع

root@kitploit:~
.
├── README.md
├── LICENSE
├── prompts/
│   ├── audit_prompt.md
│   └── poc_prompt.md
├── poc/
│   ├── trigger.py
│   ├── nginx.conf
│   ├── reproduce.sh
│   └── expected_output.txt
├── docs/
│   ├── technical-analysis.md
│   ├── vulnerability-breakdown.md
│   └── methodology.md
└── screenshots/
    └── asan-crash.png

إعادة الإنتاج

تم تصميم الإثبات (PoC) لبناء محلي مختبري لـ nginx الثغري مع تمكين AddressSanitizer. يبدأ تشغيل nginx على 127.0.0.1:18080، ويرسل طلبًا مصممًا إلى خادم محلي، ويطبع دليل الانهيار.

1. بناء nginx ثغري مع ASan

استخدم شجرة مصدر nginx متأثرة. تم التحقق من صحة التجربة ضد nginx 1.30.0 الذي تم بناؤه باستخدام clang و ASan:

root@kitploit:~
./auto/configure \
  --prefix=/tmp/nginx-asan-poc \
  --with-cc-opt='-O0 -g -fsanitize=address -fno-omit-frame-pointer' \
  --with-ld-opt='-fsanitize=address'

make -j"$(getconf _NPROCESSORS_ONLN 2>/dev/null || sysctl -n hw.ncpu)"

2. تشغيل الإثبات

من هذا المستودع:

root@kitploit:~
NGINX_BIN=/path/to/vulnerable/nginx/objs/nginx ./poc/reproduce.sh

إذا تم وضع هذا المستودع مباشرة داخل النسخة المأخوذة من مصدر nginx المستخدم للتحقق، فإن البرنامج النصي يجد أيضًا ../../objs/nginx تلقائيًا.

3. النتيجة المتوقعة

تطبع إعادة الإنتاج الناجحة تقرير ASan مشابهًا لما يلي:

root@kitploit:~
ERROR: AddressSanitizer: heap-buffer-overflow
WRITE of size 1
    #0 ngx_escape_uri ngx_string.c:1687
    #1 ngx_http_script_copy_capture_code ngx_http_script.c:1399
    #2 ngx_http_rewrite_handler ngx_http_rewrite_module.c:180

انظر poc/expected_output.txt.

لقطة شاشة لانهيار ASan

تكوين التفعيل الأدنى

تكوين nginx الذي يستخدمه الإثبات صغير بشكل متعمد:

root@kitploit:~
location / {
    rewrite ^(.*) /new?c=1;
    set $myvar $1;
    return 200 "$myvar\n";
}

يقوم أول rewrite بتعيين e->is_args لأن الاستبدال يحتوي على ?. يقوم set اللاحق بتقييم $1 بينما لا تزال تلك الحالة القديمة موجودة.

التصحيح الرسمي

يقوم التصحيح الأدنى بإعادة تعيين علم حالة الوسيطات لمحرك البرنامج النصي عند انتهاء إعادة كتابة التعبير النمطي:

root@kitploit:~
e->is_args = 0;
e->quote = 0;

في شجرة المصدر المستخدمة لهذه التجربة، يظهر الإصلاح كالتزام:

root@kitploit:~
524977e7c534e87e5b55739fa74601c9f1102686
Rewrite: fixed escaping and possible buffer overrun

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

شفافية التجربة

استخدمت هذه التجربة وكيل تشفير رائد كمساعد مراجعة. وجه المطالبة النموذج بشكل صريح للتركيز على مشكلات سلامة الذاكرة في src/http/ngx_http_script.c والاهتمام الشديد بعدم تطابق الطول/الكتابة ثنائي الممر.

قيود مهمة:

  • تم توفير ملف المصدر الثغري مباشرة.
  • كانت مطالبة المراجعة موجهة بشكل كبير نحو فئة الخلل.
  • كان للنموذج إمكانية الوصول إلى تاريخ المستودع المحلي أثناء التحقق.
  • يجب تفسير النتيجة على أنها إعادة اكتشاف موجه، وليس صيد أخطاء مستقل.
  • يظهر الإثبات دليل الانهيار/ASan فقط؛ إنه ليس استغلالًا مسلحًا.

المطالبات الدقيقة مضمنة في prompts/audit_prompt.md و prompts/poc_prompt.md.

الاستخدام المسؤول

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

الترخيص

تم إصدار التوثيق وهيكل الإثبات في هذا المستودع بموجب ترخيص MIT. nginx نفسه غير مضمن ويخضع لترخيصه الخاص.

تنزيل الأداة