תיקון של פרצת האבטחה XSS מבוסס-קבצים

המידע הזה מיועד למפתחים שהאפליקציות שלהם חשופות לפרצה של יצירת סקריפטים מבוססי קבצים חוצי-אתרים.

מה קורה?

לפחות אחת מהאפליקציות שלכם מכילה פרצת אבטחה XSS‏ (cross-site scripting) מבוססת קבצים שחובה לתקן. יש לעיין בהודעה שב-Play Console.לאחר המועדים האחרונים לתיקון שמוצגים ב-Play Console, אפליקציות שיכילו פרצות אבטחה לא מתוקנות יוסרו מ-Google Play.

הפעולה הנדרשת

  1. נכנסים לחשבון Play Console, ועוברים לקטע ההתראות כדי לבדוק אילו אפליקציות מושפעות מהבעיות ומהם המועדים האחרונים לתיקון.
  2. מעדכנים את האפליקציות המושפעות ומתקנים את פרצת האבטחה.
  3. שולחים את הגרסאות המעודכנות של האפליקציות המושפעות.

לאחר השליחה החוזרת, האפליקציה שלכם תיבדק שוב. תהליך זה עשוי להימשך כמה שעות. אם האפליקציה עוברת את הבדיקה ומתפרסמת בהצלחה, לא יהיה צורך בפעולה נוספת. אם האפליקציה תיכשל בבדיקה, גרסת האפליקציה החדשה לא תתפרסם ותקבלו התראה באימייל.

פרטים נוספים

רכיבי WebView עם הגדרות מסוג WebSettings המגדירות את setAllowFileAccessFromFileURLs או את setAllowUniversalAccessFromFileURLs כערך true, לא יכולים לטעון תוכן אינטרנט לא מהימן. זה כולל תוכן מדומיינים מהימנים שנטען ב-HTTP. תוכן אינטרנט זדוני או רשתות זדוניות עלולים להזריק סקריפטים כדי להפנות אוטומטית את ה-WebView לקובץ מקומי זדוני, ולהפעיל התקפת סקריפטים חוצי-אתרים כדי לגשת לקבצים מקומיים או לקובצי Cookie פרטיים.

יש למנוע את פרצת האבטחה הזו באחת מהדרכים הבאות:

  1. מוודאים שלרכיבי ה-WebView אין הגדרות מסוכנות
  2. מוודאים שרכיבי WebView לא יכולים לטעון קבצים מקומיים ולהפעיל JavaScript
  3. מוודאים שרכיבי WebView עם הגדרות מסוכנות לא טוענים תוכן אינטרנט בלתי מהימן

1. מוודאים שלרכיבי ה-WebView אין הגדרות מסוכנות

מעדכנים את android:targetSdkVersion שבמניפסט ל-16 לכל הפחות כדי להשתמש בהגדרות ברירת מחדל בטוחות עבור WebView. לחלופין, קוראים לפונקציות (setAllowFileAccessFromFileURLs(false‏ ו-(setAllowUniversalAccessFromFileURLs(false כדי לוודא שרכיבי ה-WebView שלהן בטוחים.

2. מוודאים שרכיבי WebView לא יכולים לטעון קבצים מקומיים ולהפעיל JavaScript

קוראים לפונקציה setAllowFileAccess(false)‎ כדי שרכיבי WebView עם הגדרות מסוכנות לא יוכלו לטעון קבצים מקומיים. לחלופין, קוראים לפונקציה setJavaScriptEnabled(false)‎ כדי שרכיבי WebView עם הגדרות מסוכנות לא יוכלו להפעיל קוד JavaScript.

3. מוודאים שרכיבי WebView עם הגדרות מסוכנות לא טוענים תוכן אינטרנט בלתי מהימן

אם WebView צריך להפעיל הגדרות מסוכנות, עליכם לוודא שהוא לא טוען תוכן אינטרנט בלתי מהימן. זה כולל תוכן שנטען באמצעות HTTP. ניתן להגדיר android:usesCleartextTraffic=false או תצורה של אבטחת רשת שלא מתירה תנועת HTTP במניפסט. לחלופין, אפשר לוודא שרכיבי WebView עם הגדרות מסוכנות לא טוענים כתובות URL עם סכמות של HTTP.

כמו כן, צריך לוודא שרכיבי WebView עם הגדרות מסוכנות לא טוענים כתובות URL שהגיעו ממקורות בלתי מהימנים.

אנחנו כאן כדי לעזור

אם יש לכם שאלות טכניות בנוגע לפגיעוּת זו, ניתן לפרסם פוסט באתר Stack Overflow ולהשתמש בתג “android-security”. משהו לא ברור בשלבים לפתרון הבעיה? ניתן לפנות אל צוות התמיכה שלנו למפתחים.

false
התפריט הראשי
7829686655864569584
true
חיפוש במרכז העזרה
true
true
true
true
true
5016068
false
false