إصلاح الثغرة الأمنية File-based XSS

هذه المعلومات مخصّصة لمطوّري البرامج الذين لديهم تطبيقات تتضمن ملفات معرّضة لهجمات الاختراق File-based Cross-Site Scripting.

التغييرات الجارية

يحتوي تطبيق واحد أو أكثر من تطبيقاتك على الثغرة الأمنية File-based Cross-Site Scripting التي يجب إصلاحها. يُرجى الرجوع إلى الإشعار في حسابك على Play Consoleوبعد مرور المواعيد النهائية الموضّحة في حسابك على Play Console، قد تتم إزالة أيّ تطبيقات تحتوي على ثغرات أمنية لم يتم إصلاحها من Google Play.

الإجراء المطلوب​

  1. سجِّل الدخول إلى حسابك على Play Console، وانتقِل إلى قسم "التنبيهات" لمعرفة التطبيقات المتأثرة بالثغرة الأمنية والمواعيد النهائية لحلّ هذه المشاكل.
  2. حدِّث تطبيقاتك المتأثرة بالثغرة الأمنية وأصلِحها.
  3. أرسِل النُسخ المُحدّثة من تطبيقاتك المتأثرة بالثغرة الأمنية.

وفور إعادة الإرسال، سيخضع تطبيقك للمراجعة مرة أخرى. ويمكن أن تستغرق هذه العملية عدة ساعات. إذا اجتاز التطبيق المراجعة وتم نشره بنجاح، لا يلزم اتخاذ أي إجراء آخر. وإذا تعذّر على التطبيق اجتياز المراجعة، لن يتم نشر إصدار التطبيق الجديد وستتلقى إشعارًا عبر البريد الإلكتروني.

تفاصيل إضافية

مكوّنات WebView التي تشتمل على الفئة WebSettings وتضبط إما setAllowFileAccessFromFileURLs أو setAllowUniversalAccessFromFileURLs على القيمة "true" يجب ألا تحمِّل أي محتوى ويب غير موثوق به. ويشمل هذا أي محتوى وارد من نطاقات موثوق بها يتم تحميله عبر HTTP. ومن الممكن أن يضمِّن محتوى الويب الضار أو شبكات الويب الضارة نصوصًا برمجية لإعادة توجيه مكوّن WebView إلى ملف محلي ضار وبدء هجوم Cross-Site Scripting للوصول إلى ملفات محليّة خاصة أو ملفات تعريف ارتباط.

يجب أن تمنع ظهور هذه الثغرة الأمنية بإحدى الطرق التالية:

  1. التأكد من أنه لا توجد إعدادات خطيرة في نوافذ WebView
  2. التأكد من أن نوافذ WebView لا تستطيع تحميل ملفات محلية أو تنفيذ رمز جافا سكريبت
  3. التأكد من أن نوافذ WebView التي تتضمن إعدادات خطيرة لا تحمِّل محتوى ويب غير موثوق به

1- التأكد من عدم اشتمال مكوّنات WebView على إعدادات خطيرة

عدِّل قيمة android:targetSdkVersion في ملف Manifest إلى 16 على الأقل لاستخدام الإعدادات التلقائية الآمنة لمكوّن WebView. وإلا، يجب استدعاء setAllowFileAccessFromFileURLs(false)‎ وsetAllowUniversalAccessFromFileURLs(false)‎ للتأكُّد من أن مكوّنات WebView المخصّصة لهما آمنة.

2. التأكُّد من أن مكوّنات WebView لا تستطيع تحميل ملفات محلية أو تنفيذ رمز جافا سكريبت

عليك استدعاء setAllowFileAccess(false)‎ لمنع مكوّنات WebView التي تتضمن إعدادات خطيرة من تحميل ملفات محليّة، أو استدعاء setJavaScriptEnabled(false)‎ لمنع مكوّنات WebView التي تتضمن إعدادات خطيرة من تنفيذ رمز جافا سكريبت.

3. التأكد من أن نوافذ WebView التي تتضمن إعدادات خطيرة لا تحمِّل محتوى ويب غير موثوق به

إذا كان أحد مكوّنات WebView يتطلّب تفعيل هذه الإعدادات الخطيرة، يجب أن تتأكّد من أنه لا يحمِّل محتوى ويب غير موثوق به. ويشمل هذا محتوى الويب الذي يتم تحميله عبر HTTP. ويمكنك ضبط android:usesCleartextTraffic=false أو ضبط Network Security Config لعدم السماح بزيارات HTTP في ملف Manifest. وبدلاً من ذلك، يمكنك التأكّد من أن مكوّنات WebView التي تتضمّن إعدادات خطيرة لا تحمِّل أي عناوين URL بها حيل HTTP.

ويجب أيضًا التأكّد من أن مكوّنات WebView التي تتضمّن إعدادات خطيرة لا تحمِّل عناوين URL تمّ الحصول عليها من مصادر غير موثوقة.

تسرّنا مساعدتك

إذا كان لديك أسئلة فنية بشأن الثغرات، يمكنك طرحها على موقع Stack Overflow واستخدام العلامة "android-security". لمزيد من التوضيح بشأن الخطوات المطلوبة لحلّ هذه المشكلة، يمكنك التواصل مع فريق دعم مطوّري البرامج.

هل كان ذلك مفيدًا؟

كيف يمكننا تحسينها؟
false
القائمة الرئيسية
5433601285650070150
true
مركز مساعدة البحث
true
true
true
true
true
5016068
false
false