ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
أداة Refitter هي أداة لتوليد عميل C# REST API باستخدام مكتبة Refit. قبل الإصدار 2.1.1، تقوم أداة dotnet المعروفة بـ `refitter` استدعاء `NJsonSchema` بإعدادات افتراضية غير آمنة لحل `$ref` عند توليد واجهات وعقود Refit من وصف OpenAPI يتحكم فيه المهاجم أو يتأثر به. تؤدي مراجع `http(s)` عن بُعد إلى طلبات من المطور أو مضيف CI وتضمين محتوى مخطط عن بُعد غير موثوق به في المخرجات المولدة. كما أن مسارات الملفات المحلية المطلقة واجتياز المسار النسبي `..\` خارج دليل الإدخال تحل وتضمن المحتوى المحلي أيضًا، مما يسمح بالكشف عن ملفات محلية عشوائية. تتوقف السلسلة المُثبتة عند تزوير الطلبات من جانب الخادم، تضمين الملفات عن بُعد، وتضمين الملفات المحلية، وليس تنفيذ الشيفرة: يقوم Refit بتعيين عنوان URL الأساسي وقت التشغيل، وتستخدم قيم تعداد الثوابت مضاعفة السلسلة الحرفية، ويتم الهروب من القيم الافتراضية للسلسلة. تم إصلاح هذه المشكلة في الإصدار 2.1.1.
المعالجة
المراجع
- مرجعhttps://github.com/christianhelle/refitter/security/advisories/GHSA-x6w4-f264-3vvr
- مرجعhttps://github.com/christianhelle/refitter/pull/1173
- مرجعhttps://github.com/christianhelle/refitter/commit/6ad20a3803561225100b0a4bb6b12f947d23db7b
- مرجعhttps://github.com/christianhelle/refitter/releases/tag/2.1.1
- مرجعhttps://github.com/user-attachments/files/29395269/reproduce.sh
- مرجعhttps://github.com/user-attachments/files/29395271/maintainer-report.txt
- مرجعhttps://github.com/user-attachments/files/29395272/advisory.md
- مرجعhttps://github.com/user-attachments/files/29395283/reproduce.sh
- مرجعhttps://github.com/user-attachments/files/29395284/maintainer-report.txt
- مرجعhttps://github.com/user-attachments/files/29395285/advisory.md
- مرجعhttps://github.com/user-attachments/files/29395286/listener.py
- مرجعhttps://github.com/user-attachments/files/29395288/make_spec.py