هذه المعلومات مخصّصة لمطوّري البرامج الذين لديهم تطبيقات تتضمن ملفات معرّضة لهجمات الاختراق File-based Cross-Site Scripting.
التغييرات الجارية
يحتوي تطبيق واحد أو أكثر من تطبيقاتك على الثغرة الأمنية File-based Cross-Site Scripting التي يجب إصلاحها. يُرجى الرجوع إلى الإشعار في حسابك على Play Console. وبعد مرور المواعيد النهائية الموضّحة في حسابك على Play Console، قد تتم إزالة أيّ تطبيقات تحتوي على ثغرات أمنية لم يتم إصلاحها من Google Play.
الإجراء المطلوب
- سجِّل الدخول إلى حسابك على Play Console، وانتقِل إلى قسم "التنبيهات" لمعرفة التطبيقات المتأثرة بالثغرة الأمنية والمواعيد النهائية لحلّ هذه المشاكل.
- حدِّث تطبيقاتك المتأثرة بالثغرة الأمنية وأصلِحها.
- أرسِل النُسخ المُحدّثة من تطبيقاتك المتأثرة بالثغرة الأمنية.
وفور إعادة الإرسال، سيخضع تطبيقك للمراجعة مرة أخرى. ويمكن أن تستغرق هذه العملية عدة ساعات. إذا اجتاز التطبيق المراجعة وتم نشره بنجاح، لا يلزم اتخاذ أي إجراء آخر. وإذا تعذّر على التطبيق اجتياز المراجعة، لن يتم نشر إصدار التطبيق الجديد وستتلقى إشعارًا عبر البريد الإلكتروني.
تفاصيل إضافية
مكوّنات WebView
التي تشتمل على الفئة WebSettings
وتضبط إما setAllowFileAccessFromFileURLs
أو setAllowUniversalAccessFromFileURLs
على القيمة "true" يجب ألا تحمِّل أي محتوى ويب غير موثوق به. ويشمل هذا أي محتوى وارد من نطاقات موثوق بها يتم تحميله عبر HTTP. ومن الممكن أن يضمِّن محتوى الويب الضار أو شبكات الويب الضارة نصوصًا برمجية لإعادة توجيه مكوّن WebView إلى ملف محلي ضار وبدء هجوم Cross-Site Scripting للوصول إلى ملفات محليّة خاصة أو ملفات تعريف ارتباط.
يجب أن تمنع ظهور هذه الثغرة الأمنية بإحدى الطرق التالية:
- التأكد من أنه لا توجد إعدادات خطيرة في نوافذ WebView
- التأكد من أن نوافذ WebView لا تستطيع تحميل ملفات محلية أو تنفيذ رمز جافا سكريبت
- التأكد من أن نوافذ 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". لمزيد من التوضيح بشأن الخطوات المطلوبة لحلّ هذه المشكلة، يمكنك التواصل مع فريق دعم مطوّري البرامج.