אפליקציה שלא ביקשה שום הרשאה השיגה שליטה מלאה על המכשיר: חוקר פרסם שתי חולשות ב-OnePlus אחרי חמישה חודשים בלי תיקון
האפליקציה לא ביקשה אף הרשאה. לא מיקום, לא אנשי קשר, לא גישה לתמונות, ולא הוצגה למשתמש שום חלונית אישור. לפי החוקר רסמוס מורטס, זה הספיק כדי להשיג הרשאות root על OnePlus 15 עם הגרסה העדכנית של OxygenOS, כלומר את רמת השליטה הגבוהה ביותר שקיימת במכשיר אנדרואיד.
מה קרה
מורטס שרשר שני כשלים בתוכנה ש-OnePlus מוסיפה מעל אנדרואיד. הראשון נמצא בשירות בשם AtlasService, שאוסף נתוני ניפוי שגיאות, רץ בהרשאות root, ומקבל פניות מכל אפליקציה בלי לבדוק מי פונה אליו. פנייה מנוסחת בקפידה מגיעה משם לכלי ניפוי שגיאות של החברה, שלוקח את הטקסט שהאפליקציה שלחה ומשתיל אותו כמו שהוא לתוך פקודת מערכת. בשלב הזה האפליקציה כבר מריצה קוד בהרשאות root, אבל בתוך אזור מוגבל שממנו אי אפשר לעשות את רוב מה ש-root יכול.
את העבודה משלים הכשל השני. OnePlus מתקינה במכשיר שירות עזר לחומרה בשם olc2, ולו יש פקודה שמריצה כל הוראת shell שהיא מקבלת. השמירה היחידה עליה היא שהפונה כבר יהיה root, וזה בדיוק מה שהחולשה הראשונה סיפקה. הפעם הקוד רץ באזור עם כל ההרשאות הנמוכות של לינוקס, כולל היכולת לטעון קוד לתוך הקרנל, וזו כבר שליטה על המכשיר ברמת המערכת.
לוח הזמנים שמורטס פרסם מספר את שאר הסיפור. הוא דיווח על שתי החולשות ב-18 באפריל, וב-20 במאי OnePlus אישרה את שתיהן. באותה תשובה, שמורטס פרסם במלואה, החברה טענה לזכות הבלעדית להחליט מתי ואיך חולשה מתפרסמת, והזהירה שפרסום בלי אישורה עלול לגרור נקיטת הליכים משפטיים. הוא הסכים לא לפרסם לפני 17 בספטמבר, ביקש עדכונים ב-20 ביולי וב-11 בספטמבר ולא קיבל מענה, ופרסם ב-24 בחודש. עד לפרסום לא הוקצה מספר CVE, לא יצא תיקון ולא פורסמה הודעת אבטחה. לדבריו אין עדות לכך שמישהו ניצל את החולשות בפועל.
למה זה חשוב לכם
OnePlus ו-OPPO נמכרים בישראל, והן בונות את המכשירים שלהן על אותה תשתית תוכנה. מורטס מדווח ש-OnePlus אמרה לו שהכשלים נוגעים לעוד דגמים רבים משלה וגם למכשירי OPPO, בלי לפרט אילו, כך שהיקף החשיפה האמיתי עדיין לא ידוע. הוא אישר את המתקפה גם על OnePlus 12 Pro.
המתקפה היא מקומית, כלומר היא לא יכולה להגיע אליכם דרך האינטרנט. צריך שאפליקציה זדונית תותקן ותרוץ על המכשיר. מה שמטריד בה הוא שההגנה הרגילה שלנו לא עובדת כאן: אנחנו רגילים להסתכל אילו הרשאות אפליקציה מבקשת, והאפליקציה הזאת לא מבקשת כלום.
מה עושים?
התקינו אפליקציות רק מחנות Google Play. תנאי הפתיחה של המתקפה הוא אפליקציה זדונית על המכשיר, ולכן קובץ APK שהגיע בקישור בוואטסאפ או מאתר שמציע גרסה חינמית של תוכנה בתשלום הוא בדיוק הפתח שהיא צריכה.
עברו על רשימת האפליקציות בהגדרות ומחקו כל מה שאתם לא מזהים או לא פתחתם כבר חודשים.
וודאו ש-Play Protect פעיל: פתחו את חנות Play, הקישו על תמונת הפרופיל ובחרו ב-Play Protect. הוא סורק את מה שמותקן במכשיר, גם אפליקציות שהגיעו מחוץ לחנות.
כשיגיע עדכון תוכנה מ-OnePlus או מ-OPPO, התקינו אותו. בלי מספר CVE סביר שהתיקון לא יוזכר במפורש בהערות הגרסה.
החולשות עצמן יתוקנו מתישהו. מה שהמקרה משאיר פתוח זו השאלה מי מחליט מתי לקוחות שומעים על סיכון במכשיר שקנו.
תגובות