
הודעת SMS מעוותת מסוג WAP Push גורמת ללא לחיצה לקריסת מערכת הטלפוניה של Android
הודעת SMS מעוותת מסוג WAP Push עלולה להתרסק מרחוק את com.android.phone ב-Android ללא אינטראקציה. הקריסה עלולה לנתק שיחות, כולל חירום, ומסירה חוזרת עלולה לפגום באחסון SMS. Google סיווגה זאת כבעיה שאינה אבטחתית.
הודעת SMS מעוותת מסוג WAP Push עלולה להתרסק מרחוק את com.android.phone ב-Android ללא אינטראקציה של המשתמש, לפי דיווח של החוקר העצמאי Mark Blaszczyk. הקריסה עלולה לנתק שיחות פעילות, כולל שיחות חירום, ומסירה חוזרת עלולה לפגום באחסון SMS ולהפוך מכשיר לבלתי שמיש באופן מתמשך. Google סיווגה את הבעיה כבעיה שאינה אבטחתית לאחר סקירה.
סיבה טכנית
כאשר Android מקבל הודעת WAP Push, הפונקציה WapPushOverSms.decodeWapPdu() קוראת את אורך כותרת WSP כ-uintvar. הערך מוחזר כ-long, מומר ל-int ללא בדיקת טווח, ומשמש כגודל של מערך byte חדש. uintvar של 5 בתים עם הערכים 88 80 80 80 00 מפוענח ל-0x80000000, שהופך כ-int חתום של 32 סיביות לערך -2147483648. הקצאת new byte[-2147483648] זורקת NegativeArraySizeException שלא נתפסת בתהליך הראשי של הטלפוניה, והורגת את com.android.phone. ההודעה מועברת כ-SMS נתונים ואינה מוצגת למשתמש.
השפעה ושחזור
ההודעה פועלת ללא לחיצה ושקטה. דבר אינו מופיע ב-Messages ומספר השולח אינו מוצג. שיחות מתנתקות, כולל שיחות חירום, ושיחות קול פעילות מסתיימות כאשר התהליך מופעל מחדש. הטלפוניה אינה זמינה למשך כ-1 עד 2 שניות לכל הודעה בזמן ש-com.android.phone מופעל מחדש. מסירה חוזרת של הספק עלולה לחזור על הקריסה; הודעה אחת גרמה להפסקות לסירוגין למשך עד שבוע בבדיקות, וכ-20 הודעות הפכו מכשיר לבלתי שמיש לתקופה ממושכת. מסירה חוזרת מהירה עלולה לפגום במסד הנתונים SQLite שמאחורי אחסון ה-SMS, ולגרום ל-com.android.phone להתרסק בכל אתחול. השחזור דרש העברת ה-SIM הפיזי למכשיר שאינו Android כדי שהמסרים שנשלחו שוב יאושרו, ולאחר מכן ניקוי רשומות SMS באמצעות ADB. עם eSIM, השחזור יהיה קשה משמעותית.
הדוח קובע כי מכשיר תחת התקפה זו אינו יכול לחייג ל-000 באופן אמין. הוא מצטט התחייבויות של ספקים אוסטרליים לפי Telecommunications (Emergency Call Service) Determination, המנוהל על ידי ACMA, ומצין ש-Telstra קובעת שהיא מחויבת לחסום מכשירים שלא יכולים עוד לחייג ל-000, להודיע ללקוח ולחסום את המכשיר אם לא נעשה דבר תוך 28 ימים.
גילוי וסטטוס
Mark Blaszczyk הגיש את הדוח ב-5 במאי 2026 דרך Android and Google Devices VRP, והגיש אותו מחדש פעמיים כערעור על סיווג שגוי. Google הקצתה אותו, סגרה אותו כ-Won't Fix (Infeasible) ב-20 ביוני 2026, סגרה הגשה מחדש כ-Won't Fix (Not Reproducible) תוך שלוש דקות, וב-29 באוקטובר 2026 קיבלה החלטה סופית של Won't Fix, תוך ציטוט שהבעיה אינה עונה על סף החומרה ומסווגת כ-Non-Security Issue (NSI). הגילוי קובע שהוא הוחזק מעבר לחלון של 90 ימים של VRP.
התיקון המוצע הוא בדיקת טווח לפני ההמרה ב-WapPushOverSms.java: קריאת הערך כ-long, דחיית ערכים שמתחת ל-0 או מעל pdu.length, החזרת תוצאת שגיאה, ולאחר מכן המרה ל-int. הוכחת המושג וקוד המקור פורסמו ב-GitHub; האזהרה קובעת שהיא מיועדת לבדיקה מורשית בלבד.
מקורות: smsofdeath.com
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.