
تطبيق بسيط يحتوي على ثغرة CVE-2022-45688
يوضح المشروع CVE-2022-45688 في json.org -- يوجد تطبيق بسيط
XML2JSONConverter لقراءة XML من الإدخال، وتحويله إلى JSON و
طباعته بشكل منسق على وحدة التحكم.
عند استخدام إدخال خبيث، ينهار التطبيق بسبب تجاوز سعة المكدس (stackoverflow).
توضح حالة الاختبار CVE202245688Test هذا السلوك، ويمكن
تنفيذها عن طريق تشغيل mvn test.
توجد عدة سكربتات sh لتشغيل تحليلات مختلفة، ويمكن العثور على تقارير النتائج في scan-results.
يفشل تقرير SCA (بما في ذلك تلك التي تم إعدادها كإجراءات GitHub) في الإبلاغ عن CVE-2022-45688، على الرغم من أن الاختبار المرفق يُظهر بوضوح أنه موجود. السبب هو أن الأدوات التي تستند إلى تحليل البيانات الوصفية فقط (أي التبعيات المُعلنة) لا تدرك أن المشروع يستخدم نسخة مظللة (shaded) من (إصدار هش من) json.org.
لاحظ أن التظليل يتم يدويًا، أي أن إضافة Maven Shade Plugin غير مستخدمة. تشير أبحاثنا الأخيرة إلى أن هذا مصدر شائع للسلبيات الكاذبة في تحليل تكوين البرمجيات.
يحتوي pom.xml على إضافة لإنشاء SBOM بتنسيق CycloneDX.
للقيام بذلك، شغّل mvn cyclonedx:makePackageBom، ويمكن العثور على SBOM في
target/ بتنسيق json وxml.