
التفاصيل التقنية والاستغلال لـ CVE-2025-50460
الحالة: بانتظار التحليل
تم وضع علامة على هذا السجل CVE لجهود الإثراء في NVD.توجد ثغرة في تنفيذ التعليمات البرمجية عن بُعد (RCE) في مشروع ms-swift الإصدار 3.3.0 بسبب إلغاء تسلسل غير آمن في tests/run.py باستخدام yaml.load() من مكتبة PyYAML (الإصدارات = 5.3.1). إذا تمكن المهاجم من التحكم في محتوى ملف تكوين YAML المُمرر إلى الوسيط --run_config، يمكن تنفيذ تعليمات برمجية عشوائية أثناء إلغاء التسلسل. قد يؤدي ذلك إلى اختراق النظام بالكامل. يتم تشغيل الثغرة عند تحميل ملف YAML ضار، مما يسمح بتنفيذ أوامر Python عشوائية مثل os.system(). يُوصى بترقية PyYAML إلى الإصدار 5.4 أو أعلى، واستخدام yaml.safe_load() للتخفيف من المشكلة.
توجد ثغرة في تنفيذ التعليمات البرمجية عن بُعد (RCE) في مشروع modelscope/ms-swift بسبب الاستخدام غير الآمن لـ yaml.load() مع إصدارات ضعيفة من مكتبة PyYAML (≥ 5.3.1). توجد المشكلة في السكربت tests/run.py، حيث يتم إلغاء تسلسل ملف تكوين YAML المقدم من المستخدم باستخدام yaml.load() مع yaml.FullLoader.
إذا تمكن المهاجم من التحكم في ملف تكوين YAML المقدم للوسيط --run_config أو استبداله، فقد يحقن حمولة ضارة تؤدي إلى تنفيذ تعليمات برمجية عشوائية.
tests/run.pyif args.run_config is not None and Path(args.run_config).exists():
with open(args.run_config, encoding='utf-8') as f:
run_config = yaml.load(f, Loader=yaml.FullLoader)
exploit.yaml)!!python/object/new:type
args: ["z", !!python/tuple [], {"extend": !!python/name:exec }]
listitems: "__import__('os').system('mkdir HACKED')"
import yaml
with open("exploit.yaml", "r") as f:
cfg = yaml.load(f, Loader=yaml.FullLoader)
يؤدي ذلك إلى تنفيذ os.system، مما يثبت تنفيذ التعليمات البرمجية.
yaml.load() بـ yaml.safe_load()# قبل
yaml.load(f, Loader=yaml.FullLoader)
# بعد
yaml.safe_load(f)
| الحقل | القيمة |
|---|
| معرف CVE | CVE-2025-50460 |
| درجة CVSS | غير محدد بعد |
| CWE | CWE-502: إلغاء تسلسل البيانات غير الموثوقة |
| تاريخ التقرير | 2025-04-25 |
| تاريخ الإفصاح | 2025-07-30 |
| الإصدار المتأثر | الأحدث |
| إصدار الإصلاح |