
تطبيق بسيط يحتوي على ثغرة CVE-2022-45688 (لا يمكن الوصول إليها!)
يحتوي المشروع على تبعية json.org مرتبطة بالثغرة CVE-2022-45688.
يقوم المشروع باستدعاء الفئة المعرّضة للخطر، لكن يتم تعقيم بيانات الإدخال (باستخدام طريقة بسيطة لعدّ أحرف <، وبالتالي تقدير أقصى عمق لشجرة DOM التي سيتم توليدها، وفرض شرط مسبق بأن يكون أقل من 1000)
وبالتالي لا يمكن استغلال الثغرة لشن هجوم حجب الخدمة (DoS).
كلا النوعين من تحليلات تكوين البرمجيات، النوع القائم على البيانات الوصفية والنوع القائم على مخطط الاستدعاء، سينتج نتيجة إيجابية خاطئة. لتحديد ما إذا كان التطبيق معرّضًا للثغرة بدقة، يلزم إجراء تحليل أكثر تطورًا لتدفق البيانات بين الإجراءات (inter-procedural dataflow) / تحليل التلوث (taint analysis).
لاحظ أن هناك اختبار إثبات وجود الثغرة، وهذا الاختبار (وبالتالي البناء باستخدام mvn test) يفشل. راجع https://github.com/scabench/jsonorg-tp1 لمعرفة كيفية عمل الاختبار.
توجد عدة سكربتات sh لتشغيل تحليلات مختلفة، ويمكن العثور على تقارير النتائج في scan-results.
يحتوي ملف pom.xml على مكوّن إضافي لتوليد بتنسيق .
للقيام بذلك، شغّل ، ويمكن العثور على SBOM في
بصيغتي و.
mvn cyclonedx:makePackageBomtarget/jsonxml