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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-21710 — إثبات مفهوم لاستغلال CVE-2026-21710، وهو خلل في معالجة طلبات HTTP في Node.js يتسبب في خطأ TypeError غير مُلتقط عبر ترويسة __proto__، مما يؤدي إلى رفض الخدمة. | Kitploit
أدوات/GitHubGitHub/open-flaw/cve-2026-21710
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويب
GitHubopen-flaw/cve-2026-21710

CVE-2026-21710

إثبات مفهوم لاستغلال CVE-2026-21710، وهو خلل في معالجة طلبات HTTP في Node.js يتسبب في خطأ TypeError غير مُلتقط عبر ترويسة __proto__، مما يؤدي إلى رفض الخدمة.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-21710 — رفض الخدمة (DoS) في Node.js عبر req.headersDistinct

الملخص

الحقلالقيمة
معرف CVECVE-2026-21710
تاريخ النشر2026-03-30
CVSS v3.17.5 عالية (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
CWECWE-770 — تخصيص الموارد دون حدود أو تقييد
الإصدارات المتأثرةNode.js 20.x, 22.x, 24.x, 25.x
تم الإصلاح فيإصدارات الأمان لشهر مارس 2026

الوصف

يوجد خلل في معالجة طلبات HTTP في Node.js يؤدي إلى حدوث TypeError غير مُلتقط عند استلام طلب يحتوي على ترويسة باسم __proto__ وقام التطبيق بالوصول إلى req.headersDistinct.

dest["__proto__"] يُقيَّم إلى Object.prototype بدلاً من undefined، مما يؤدي إلى استدعاء .push() على كائن ليس مصفوفة. يتم إلقاء هذا الاستثناء بشكل متزامن داخل مُلحق خاصية (property getter) ولا يمكن اعتراضه بواسطة مستمعي حدث error — ولا يمكن التعامل معه دون تغليف كل وصول إلى req.headersDistinct داخل try/catch.

السبب الجذري

يقوم مُلحق headersDistinct بتجميع قيم الترويسات في كائن عادي:

root@kitploit:~
const dest = {};
// ...
dest[name] = dest[name] || [];
dest[name].push(value);

عندما يكون name === "__proto__":

  • dest["__proto__"] يُرجع Object.prototype (قيمة صحيحة، وليست undefined)
  • يتم تخطي التهيئة || []
  • يتم استدعاء .push(value) على Object.prototype → TypeError: dest[name].push is not a function
  • يتجاوز الإلقاء المتزامن حدود أخطاء حلقة الأحداث (event-loop) ويتسبب في انهيار العملية

الملفات

الملفالوصف
server.jsخادم HTTP ضعيف (يصل إلى req.headersDistinct مباشرة)
poc.jsإثبات المفهوم (Proof-of-concept) للاستغلال

الاستخدام

للبحث الأمني المصرح به / الإفصاح المسؤول فقط.

تشغيل الخادم الضعيف

root@kitploit:~
node server.js
# Listening on http://127.0.0.1:3000

تشغيل إثبات المفهوم (POC)

root@kitploit:~
node poc.js

المخرجات المتوقعة:

  1. الخطوة 1 — الطلب العادي ينجح (HTTP 200).
  2. الخطوة 2 — يتم إرسال ترويسة __proto__؛ ينهار الخادم مع TypeError غير مُلتقط.
  3. الخطوة 3 — الطلب اللاحق يحصل على خطأ اتصال، مما يؤكد الانهيار.

المراجع

  • NVD — CVE-2026-21710
  • إصدارات الأمان لشهر مارس 2026 من Node.js
تنزيل الأداة