
بيئة مختبر قابلة لإعادة الإنتاج توضح تجاوز تفويض الأمان في Spring Security (CVE-2022-22978) عبر أحرف السطر الجديد المشفرة في RegexRequestMatcher.
RegexRequestMatcher، وهي وظيفة تمنح الأذونات باستخدام التعبيرات النمطية، في Spring Security 5.5.6 و5.6.3 والإصدارات الأقدم، قد يحدث تجاوز إذن إذا كان عنوان URL للطلب يحتوي على أحرف سطر جديد./admin) باستخدام أحرف سطر جديد مشفرة مثل %0a و%0d.docker compose up -d لإعداد بيئة الاختبار.http://localhost:8080/admin للتحقق من حظر الوصول إلى صفحة المسؤول.http://localhost:8080/admin/%0atest.
تم تكوين بيئة ضعيفة.

تم حظر الوصول إلى صفحة المسؤول.

%0d يمثل '\r' و%0a يمثل '\n'، وهما حرفان سطر جديد. يمكن تجاوز إذن الوصول عن طريق إرسال طلب باستخدام %0d أو %0a.
إذا كان عنوان URL يحتوي على أحرف سطر جديد مثل %0a أو %0d، فإن RegexRequestMatcher يفشل في معالجة هذه الأحرف عند تصفية مسار الطلب، مما يسمح بتجاوز الإذن. يجب توخي الحذر لأن المهاجم يمكنه تجاوز الإذن للوصول إلى صفحة المسؤول وسرقة المعلومات الهامة هناك.
عنوان GitHub: https://github.com/he-ewo/CVE-2022-22978.git