العودة

رسالة WAP Push مشوهة تُعطل اتصالات Android بدون تفاعل
SiTech AI Team3 دقيقة قراءة

رسالة WAP Push مشوهة تُعطل اتصالات Android بدون تفاعل

يمكن لرسالة WAP Push مشوهة أن تُعطل com.android.phone عن بُعد على Android، مما يقطع المكالمات النشطة بما فيها مكالمات الطوارئ بدون تفاعل المستخدم، وفقا لباحث يقول إن Google صنفتها كمشكلة غير أمنية.

يمكن لرسالة WAP Push مشوهة أن تُعطل com.android.phone على Android عن بُعد بدون تفاعل المستخدم، وفقا لتقرير من الباحث المستقل Mark Blaszczyk. يمكن أن يقطع العطل المكالمات النشطة، بما فيها مكالمات الطوارئ، وقد تؤدي إعادة الإرسال إلى إتلاف تخزين الرسائل القصيرة SMS وجعل الجهاز غير قابل للاستخدام بشكل مستمر. صنفت Google المشكلة كمشكلة غير أمنية بعد المراجعة.

السبب التقني

عندما يتلقى Android رسالة WAP Push، تقرأ WapPushOverSms.decodeWapPdu() طول رأس WSP كـ uintvar. تعود القيمة كـ long، وتُحول إلى int بدون فحص النطاق، وتُستخدم كحجم مصفوفة بايتات جديدة. يُفك ترميز uintvar مكون من 5 بايتات بالقيمة 88 80 80 80 00 إلى 0x80000000، التي تصبح -2147483648 كـ int موقّع 32-بت. تخصيص 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، نقلا عن أنه لا يحقق عتبة الخطورة ويعتبر مشكلة غير أمنية (NSI). ويشير الإفصاح إلى أن الكشف جاء بعد انقضاء نافذة الـ90 يوما الخاصة بـ VRP.

الإصلاح المقترح هو إجراء فحص النطاق قبل التحويل في WapPushOverSms.java: قراءة القيمة كـ long، ورفض القيم أقل من 0 أو أكبر من pdu.length، وإرجاع نتيجة خطأ، ثم التحويل إلى int. نُشر إثبات المفهوم والشفرة المصدرية على GitHub؛ ويذكر التحذير أنه للاختبار المرخّص فقط.

المصادر: smsofdeath.com

SiTech

SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي

نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.