
إثبات مفهوم لاستغلال CVE-2024-38475 يستهدف خلل الهروب غير الصحيح في mod_rewrite بخادم Apache HTTP Server، مما يتيح تعيين عناوين URL إلى نظام الملفات لتنفيذ التعليمات البرمجية أو كشف الكود المصدري.
الفضل: كل الفضل يعود لهذا الشخص: https://blog.orange.tw/ و https://x.com/orange_8361 كل ما قمت به هو إنشاء سكربت POC بناءً على بحثه.
مقدمة: يؤدي الهروب غير السليم للمخرجات في وحدة mod_rewrite في Apache HTTP Server 2.4.59 والإصدارات الأقدم إلى تمكين المهاجم من ربط عناوين URL بمواقع في نظام الملفات يُسمح للخادم بتقديمها ولكن لا يمكن الوصول إليها بشكل مقصود/مباشر عبر أي عنوان URL، مما يؤدي إلى تنفيذ التعليمات البرمجية أو كشف الكود المصدري. تتأثر الاستبدالات في سياق الخادم التي تستخدم مراجع خلفية (backreferences) أو متغيرات كأول جزء من الاستبدال. ستتعطل بعض قواعد RewriteRules غير الآمنة بسبب هذا التغيير، ويمكن استخدام علامة إعادة الكتابة "UnsafePrefixStat" للعودة إلى السلوك السابق بمجرد التأكد من أن الاستبدال مقيد بشكل مناسب.
أنصح بشدة بالالتزام بقوائم الكلمات التي استخدمتها عند تطوير هذه الأداة. الأداة نفسها قيد التطوير، وقد تحتاج إلى تعديلات بسبب طريقة التعامل مع عناوين URL للملفات والمجلدات. لقد استخدمت raft-medium-files.txt و raft-medium-directories.txt أثناء تطوير واختبار الثغرة على أنظمتي الخاصة.