
إثبات مفهوم لاستغلال يوضح حقن تسلسل الهروب ANSI في Flawfinder 2.0.19 عبر أسماء ملفات خبيثة، مع شرح تفصيلي وتفاصيل تخفيف الأثر.
في الإصدار 2.0.19 من Flawfinder، لا يحدث تعقيم لأسماء الملفات عند تحليل أسماء ملفات قد تكون ضارة. المحطات الطرفية المعروفة المتأثرة هي تلك المبنية على libvte، والمثال أدناه يظهر mate-terminal.
تم إصلاح هذا الاستغلال منذ ذلك الحين في الإصدار 2.0.20 اعتبارًا من 5/17/26 بواسطة David Wheeler وأنا.
مضمن في هذا المستودع نموذج POC لسيناريو bash وبعض المعلومات حول كيفية عمل الاستغلال.
في دليل عينة، قم بتضمين أي عدد تريده من الملفات، كما هو موضح أدناه:

يحتوي كلا الملفين على نفس كود C:
#include <string.h>
void f(char *s) {
char buf[8];
strcpy(buf, s); /* genuine flawfinder level-4 hit */
}
عند تشغيل flawfinder على هذا الدليل، يتم إخراج الناتج المتوقع التالي:

الآن، إذا قمت بتضمين الملف التالي باسم الملف الخبيث:

إعادة تشغيل flawfinder ينتج هذا الإخراج:

اسم الملف الخبيث هذا يخفي الإخراج لكل ملف يتم مسحه بواسطة flawfinder ويدعي زورًا أنه لا توجد نتائج.
علاوة على ذلك، فإن تشغيل flawfinder باستخدام العلامة --csv ينتج نفس النتائج، وحفظ الإخراج في ملف "*.csv" يخفي النتائج الحقيقية عن المستخدم النهائي.