الثغرة الأمنية في إطار عمل ويب Django والتي يمكن أن تؤدي إلى استبدال SQL

تم نشر الإصدارات التصحيحية لإطار عمل الويب Django 4.0.6 و3.2.14، والتي تعمل على إصلاح الثغرة الأمنية (CVE-2022-34265) التي من المحتمل أن تسمح لك باستبدال كود SQL الخاص بك. تؤثر هذه المشكلة على التطبيقات التي تستخدم بيانات خارجية لم يتم التحقق منها في النوع ومعلمات lookup_name التي تم تمريرها إلى الدالتين Trunc(kind) وExtract(lookup_name). البرامج التي تسمح فقط بالبيانات التي تم التحقق منها في lookup_name وقيم النوع لا تتأثر بالثغرة الأمنية.

تم حظر المشكلة عن طريق حظر استخدام أحرف أخرى غير الحروف والأرقام، "-"، و"_"، و"(" و")" في وسيطات الدالتين Extract وTrunc. في السابق، لم يتم قطع الاقتباس الفردي في القيم المرسلة، مما جعل من الممكن تنفيذ بنيات SQL الخاصة بك عن طريق تمرير قيم مثل "day" FROM start_datetime)) أو 1=1؛—" و"year'، start_datetime) ) أو 1=1;-“. في الإصدار التالي 4.1، من المخطط زيادة تعزيز حماية طرق استخراج التاريخ واقتطاعه، ولكن التغييرات التي تم إجراؤها على واجهة برمجة التطبيقات ستؤدي إلى انهيار التوافق مع الواجهات الخلفية لقاعدة بيانات الطرف الثالث.

المصدر: opennet.ru

إضافة تعليق