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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-9147-uproot-rce — uproot <= 5.7.4 حقن كود عبر توليد مصدر Python غير آمن من بيانات TStreamerInfo الوصفية الخاصة بـ ROOT. | Kitploit
أدوات/GitHubGitHub/saiteja-erukude/cve-2026-9147-uproot-rce
توليد الحمولةتحليل الثغرات الأمنيةالاستغلال
GitHubsaiteja-erukude/cve-2026-9147-uproot-rce

CVE-2026-9147-uproot-rce

uproot <= 5.7.4 حقن كود عبر توليد مصدر Python غير آمن من بيانات TStreamerInfo الوصفية الخاصة بـ ROOT.

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-9147: حقن كود في uproot عبر بيانات TStreamerInfo الوصفية

الخطورة: عالية، CVSS 4.0 8.5، CVSS 3.1 7.8 (مُعيّن من قِبل VulnCheck، CNA)

متجه الهجوم (v4.0): CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

متجه الهجوم (v3.1): CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

الإصدارات المتأثرة: uproot <= 5.7.4

تم الإصلاح في: 5.7.5 / commit c045c28

CWE: CWE-94 (تحكم غير سليم في توليد الكود، حقن كود)؛ CWE-95 ثانوي (حقن Eval)

أُبلغ من قِبل: Sai Teja Erukude

CNA: VulnCheck

نُشر في: 18 يوليو 2026


الملخص

يقوم uproot 5.7.4 والإصدارات السابقة بتوليد كود مصدر فئات Python ديناميكيًا من بيانات ROOT TStreamerInfo الوصفية ويُجمّعه في وقت التشغيل.

يتم إدراج بعض حقول البيانات الوصفية للـ streamer التي يتحكم بها الملف في كود Python المُولَّد دون اقتباس آمن. يمكن للمهاجم الذي يستطيع تقديم ملف ROOT مُعدّ بعناية حقن محتوى يكسر تعبيرات Python في البيانات الوصفية للـ streamer، مثل اسم عنصر مُعدّ بعناية.

عندما يفتح تطبيق متأثر ملف ROOT المُعدّ ويقوم uproot بتوليد واستدعاء طريقة القارئ المقابلة، يمكن تنفيذ تعبير Python المُحقن في سياق العملية المُضيفة.

الأثر

يمكن للمهاجم تنفيذ كود Python عشوائي في التطبيقات التي تفتح أو تعالج ملفات ROOT يتحكم بها المهاجم عبر مسارات كود uproot المتأثرة.

اعتمادًا على التطبيق، قد يتيح ذلك:

  • قراءة أو تعديل الملفات التي يمكن للعملية الوصول إليها.
  • الوصول إلى متغيرات البيئة وأسرار التطبيق.
  • استدعاء الخدمات الداخلية التي يمكن الوصول إليها من المضيف.
  • تعطيل مهام معالجة البيانات أو سلوك التطبيق.

التفاصيل الفنية

تكمن المشكلة في مسار الكود المُولَّد في uproot لبيانات ROOT streamer الوصفية.

ينشئ الإثبات المفاهيمي ملف ROOT يحتوي على بيانات TStreamerInfo وصفية مُعدّة بعناية لفئة ExploitTarget. يخرج اسم عنصر streamer المُعدّ من التعبير المُولَّد ويحقن استدعاء pathlib غير ضار.

السلوك المُبلَّغ عنه هو:

  1. يفتح uproot ملف ROOT المُعدّ.
  2. يقرأ uproot بيانات TStreamerInfo الوصفية المدعومة من الملف.
  3. يولّد uproot كود مصدر فئة Python لـ ExploitTarget.
  4. يحتوي كود الفئة المُولَّد على التعبير المُحقن.
  5. يؤدي استدعاء طريقة read_members المُولَّدة إلى تنفيذ التعبير المُحقن.

الإثبات المفاهيمي

يقوم root_file_builder.py بإنشاء malicious_tstreamerinfo.root مع بيانات streamer وصفية مُعدّة بعناية.

يقوم run_poc.py بفتح الملف باستخدام uproot، ويُجبر توليد فئة ExploitTarget المدعومة من الملف، ويستدعي طريقة read_members المُولَّدة، ويتحقق من دليل ملف العلامة.

شغّل في بيئة اختبار محلية فقط:

root@kitploit:~
python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
python -B run_poc.py

الدليل المتوقع على الإصدارات الضعيفة:

root@kitploit:~
uproot_version: 5.7.4
file_backed_element_name_contains_payload: True
class_code_contains_injected_pathlib_call: True
expected_exception: True
exception_type: DeserializationError
marker_exists: True
marker_contents:
executed through uproot generated read_members
success: True

الحمولة غير ضارة عن قصد. فهي تكتب فقط سلسلة العلامة المحلية هذه:

root@kitploit:~
executed through uproot generated read_members

لا تُطلق شل، ولا تتصل بخدمة شبكة، ولا تقرأ أسرارًا، ولا تحذف بيانات، ولا تعدّل ملفات خارج دليل الإثبات المفاهيمي.

المعالجة

قم بالترقية إلى uproot 5.7.5 أو أحدث.

إذا لم يكن من الممكن الترقية الفورية:

  • لا تعالج ملفات ROOT من مستخدمين غير موثوقين.
  • اعزل مهام معالجة ملفات ROOT بأقل الامتيازات.
  • تحقق من بيانات TStreamerInfo الوصفية غير المتوقعة أو ارفضها قبل المعالجة.
  • تجنب سير العمل الذي يفتح تلقائيًا ملفات ROOT المرفوعة أو الموردة خارجيًا.

الجدول الزمني للإفصاح

التاريخالحدث
20 مايو 2026

الإشادة

تم اكتشافها والإبلاغ عنها بواسطة Sai Teja Erukude، بتنسيق عبر VulnCheck.

المراجع

  • سجل CVE: https://www.cve.org/CVERecord?id=CVE-2026-9147
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-9147
  • نشرة VulnCheck: https://www.vulncheck.com/advisories/uproot-and-before-code-injection-via-tstreamerinfo-metadata
  • نشرة GitHub: https://github.com/scikit-hep/uproot5/security/advisories/GHSA-6946-mq52-g438
  • commit التصحيح: https://github.com/scikit-hep/uproot5/commit/c045c2824295d907d2e705f31110c742928e50e7
  • مشروع uproot: https://github.com/scikit-hep/uproot5
تنزيل الأداة
إرسال الثغرة إلى VulnCheck
20 مايو 2026بدأ VulnCheck التواصل؛ تم تخصيص CVE-2026-9147 مبدئيًا
5 يوليو 2026إصدار uproot 5.7.5 مع التصحيح
18 يوليو 2026نشر CVE-2026-9147