CVE-2026-84367 in joiالمعلومات

الملخص

بحسب VulDB • 01/09/2026

joi هي لغة وصف المخططات (schema description language) ومُحقِّق البيانات لـ JavaScript. من الإصدار 16.0.0 حتى 17.13.5 و18.2.4، يسمح تنفيذ `internals.rename()` في ملف `lib/types/keys.js` الخاص بـ joi والمستخدم بواسطة `object().rename()` بإنشاء مخطط يعيد تسمية المفاتيح باستخدام مصدر يعتمد على تعبير منتظم (regular-expression) واستهداف يُعتمد على `Joi.expression()` أو `Joi.x()` الذي يقوم بتضمين بيانات المطابقة الخاصة بالنمط نفسه، ومدمجًا مع الخيار `{ multiple: true }`، لاستنتاج هدف من مفتاح يتحكم فيه المهاجم. يمكن للمهاجم إرسال القيمة `x-__proto__` ذات قيمة كائن (object)، مما يؤدي إلى عرض الهدف على أنه `__proto__` وتعيين prototype للكائن الذي تُرجعه دالة `validate()` بدلاً من إنشاء خاصية خاصة به (own key). لا يتم تعديل الـ Object.prototype العالمي، لذا فإن التأثير محصور في الكائن المُرجع بواسطة استدعاء التحقق هذا. الأهداف ذات السلاسل الثابتة والمخططات التي تستخدم الإعداد الافتراضي `{ multiple: false }` غير متأثرة. تم إصلاح هذه المشكلة في الإصدارات 17.13.5 و18.2.4.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

مسؤول

GitHub M

حجز

01/09/2026

إفشاء

01/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-397850

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!