תוקן מכשירי אייפון עם לבנים של באג iMessage באמצעות הודעה שגויה

פרטים של באג שתוקן כעת ב-iMessage נחשפו על ידי חוקר Google Project Zero, בעיה שעלולה הייתה לאלץ משתמשים למחוק ולשחזר את מכשירי האייפון שלהם כדי לגרום להם לעבוד שוב, אם הם קיבלו הודעה שגויה.

שוחרר על ידיGoogle Project Zero, צוות גילוי הבאגים והפגיעות של חברת החיפוש, הבעיה מתייחסת לסוג מסוים של הודעה פגומה שנשלחת למכשיר הקורבן. בהתאם לכללי החשיפה הרגילים, הבאג הוחזק מעיני הציבור עד שחלפו 90 יום או שתיקון הפך לזמין באופן נרחב לציבור, כאשר שחרורו של אפל בעדכון iOS 12.3 תיקן את הבאג ומאפשר לחשוף אותו.

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

הקריאה העוקבת ל-IMBalloonPluginDataSource replaceHandlewithContactNameInString קוראת ל-im_handleIdentifiers עבור המחרוזת כביכול, מה שמביא בתורו לחריגה שנזרקה.

למרות שההודעה יכולה להשפיע גם על Mac וגם על iPhone, הם עושים זאת בדרכים שונות. עבור macOS, השגיאה גורמת ל-"soagent" לקרוס ולהופיע מחדש, מה שהופך אותה לבעיה קצרה יחסית שבה, במקרה הגרוע, אפליקציית Messages מפסיקה לעבוד.

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

כחלק מהחשיפה, Google Project Zero פרסמה גם הוראות לשחזר את הבעיה.

AppleInsiderממליץ למשתמשים לשמור על מכשירי האייפון שלהם מעודכנים במידת האפשר, ולשמור גיבויים של המכשירים והנתונים המאוחסנים שלהם.

הודעות שגויות היו המקור לבעיות מסוימות עבור משתמשי iMessage בעבר. דוגמה מרכזית אחת היא "נקודה שחורה" באג Unicode משנת 2018 שניצל לרעה תווים בלתי נראים כדי לקרוס את האפליקציה באייפון ואייפד עם iOS 11.3.

עוד 2018"פצצת טקסט" ניצל תהליכי עיבוד לא אופטימליים עבור כותרות דפי OpenGraph כדי ליצור תגים ארוכים מדי, שוב גרם לקריסות. אחר מ-2015 השתמש ב-שורה אחת של כתב ערבילצרוך משאבי iOS בעת עיבוד, אך רק כאשר זה הופיע כהתראה.