תיקון פרצת האבטחה של הזרקה בממשק JavaScript

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

מה קורה?

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

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

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

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

פרטים נוספים

רכיבי WebView שחושפים אובייקטים ברמת האפליקציה לקוד JavaScript דרך addJavascriptInterface וטוענים תוכן לא מהימן באינטרנט – חשופים להזרקות בממשק JavaScript. תוכן שאינו מהימן יכול להריץ את אחת השיטות של האובייקטים החשופים, שמסומנת בעזרת JavascriptInterface@, והפעולה עלולה להוביל לדליפת נתונים, לפגיעה בנתונים או אפילו להרצת קוד באופן אקראי.

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

אפשרות 1: מוודאים שרכיבי WebView לא מוסיפים אובייקטים לממשק JavaScript

צריך לוודא שאין אובייקטים שנוספו לממשק ה-JavaScript של כל WebView שטוען תוכן אינטרנט לא מהימן. יש שתי דרכים לבצע זאת:

 

מוודאים שאין אובייקטים שנוספו לממשק ה-JavaScript באמצעות קריאות ל-addJavascriptInterface.

  1. מסירים אובייקטים מממשק ה-JavaScript ב-shouldInterceptRequest דרך removeJavascriptInterface כדי שרכיב ה-WebView לא יטען תוכן לא מהימן.

אפשרות 2: מוודאים שרכיבי WebView לא טוענים תוכן אינטרנט בלתי מהימן

אם האפליקציה שלכם צריכה לחשוף אובייקטים לממשק ה-JavaScript של WebView, צריך לוודא שה-WebView לא טוען תוכן אינטרנט באמצעות חיבור לא מוצפן. אפשר להגדיר את android:usesCleartextTraffic כערך false במניפסט או להגדיר תצורה של אבטחת רשת שאינה מתירה תנועת HTTP. לחלופין, ניתן לוודא שרכיבי WebViews שמושפעים, לא טוענים כתובות אתרים עם סכמות HTTP באמצעות loadUrl.


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

אנחנו כאן לשירותכם

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

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