التقرير 02 — imo Messenger

رابط يكشف
معلوماتك.

تقول إنك في نيويورك، لكن رابطًا واحدًا في المحادثة يكفي ليكشف imo عنوان IP الحقيقي ويتيح تقدير المدينة التي توجد فيها. لم تفتح الرابط أصلًا. لا نقرة ولا حاجة إلى إعداد خادم. تطبيق يتجاوز عدد تثبيتاته 500 مليون.

بقلم عباس حسيني·أبحاث أمنية مستقلة·الشركة: PageBites, Inc.

تبدو معاينة الرابط بسيطة وغير ضارة: بطاقة صغيرة أسفل عنوان ويب. لكن جهازًا ما اضطر إلى جلب الصفحة لإنشائها. وبالنسبة إلى الخصوصية، السؤال الحاسم هو: أي جهاز قام بذلك؟ هذه قصة مساء عادي لميا في منزلها، وكانت إجابة imo عن هذا السؤال مقلقة.

تقرأ ميا رسالة على الأريكة وترد بأنها مسافرة
مرحبًا ميا، هل نلتقي اليوم؟
آسفة، أنا في نيويورك هذا الأسبوع.
الشكل 1 — ما تقوله ميا

تجلس ميا على الأريكة في منزلها ببرلين. يقترح يوناس أن يلتقيا، لكنها لا ترغب في ذلك. فتقول إنها مسافرة: «أنا في نيويورك هذا الأسبوع».

ترى ميا الرابط دون فتحه، بينما يصل طلب المعاينة التلقائي إلى سجل بعيدwebhook.site/aXk9دون فتح الرابط
الشكل 2 — الطلب الصامت

يرسل يوناس رابطًا مجانيًا من webhook.site. تراه ميا في المحادثة دون أن تضغط عليه، لكن هذا يكفي: يجلب imo الرابط تلقائيًا من هاتفها، فيكشف عنوان IP. لا نقرة ولا إعداد لخادم ولا برنامج خبيث.

يقرأ يوناس سجل الطلبات بجوار خريطة تقريبية للمدينة، دون علامة لموقع دقيق
نيويورك؟
إنها في برلين.
الشكل 3 — الخريطة تقول شيئًا آخر

على شاشة يوناس، يرتبط عنوان IP بمدينة: برلين، لا نيويورك. وفي هذه القصة، هي المدينة التي توجد فيها ميا بالفعل.

قالت ميا
نيويورك
لكن
هاتف ميا يشير إلى
برلين، ألمانيا
من رابط واحد في المحادثة
تنظر ميا بقلق إلى هاتفها بعدما أتاح طلب مسجّل تقدير مدينتها
أنتِ في برلين.
كيف عرفت أين أنا؟
الشكل 4 — ما يدعو إلى القلق

لم تشارك ميا موقعها. رأت رسالة ولم تضغط على شيء، ومع ذلك ظهرت المعلومة. المشكلة ليست في كذبتها الصغيرة، بل في أنها لم تُمنح خيارًا. أي شخص تتحدث معه كان يمكنه فعل الشيء نفسه.

لماذا يهم ذلك

موقع لم توافق على
مشاركته.

عنوان IP ليس مجرد رقم؛ فقد يقدم دلائل عن المدينة والشبكة والموقع التقريبي، ويساعد على استنتاج وجودك في المنزل أو تنقلاتك. هنا لا يدفع المرسِل شيئًا: يكفي رابط مجاني وتطبيق يرد بالنيابة عنك.

تتجنب Signal وWhatsApp وiMessage هذا الكشف بجلب المعاينة على خادم أو على جهاز المرسِل فقط. أما imo فيجلبها من جهاز المستلِم، الذي لا ينبغي أن يتصل برابط المهاجم دون اختياره.

التقرير التقني

imo Messenger — النتائج والتحليل

إثبات المفهوم وخطوات إعادة الاختبار على GitHub ↗

الملخص ودرجة الخطورة

اختُبر imo Messenger من PageBites, Inc. على Android وiOS وmacOS وWindows. يُنشر هنا اكتشافان. أما الملاحظة الثالثة، وهي انتحال User-Agent الخاص بـFacebook، فموثقة ضمن F-PREVIEW، لأنها بمفردها سلوك وليست ثغرة مستقلة.

المعرّفالنتيجةCWECVSS 3.1الخطورة
F-PREVIEWتسريب IP والبيانات الوصفية دون نقرة عبر معاينة الرابط200/3194.3متوسطة
F-STORAGEتخزين بيانات المصادقة كنص واضح3126.2متوسطة
F-UAينتحل الطلب facebookexternalhit، ومُدرج ضمن F-PREVIEW451—سياق إضافي
F-PREVIEW · CWE-200 / CWE-319

تسريب IP والبيانات الوصفية دون نقرة عبر معاينة الرابط

متوسطة · CVSS 4.3

الوصف

عند استلام رسالة تتضمن رابطًا، يرسل تطبيق المستلِم طلب HTTP من نوع GET إلى ذلك العنوان لإنشاء المعاينة. يصدر الطلب من جهاز المستلِم، فيكشف عنوان IP الحقيقي وUser-Agent وحالة الاتصال لمن يتحكم بالرابط. لا يوجد خيار للتعطيل ولا تخزين مؤقت؛ يتكرر الطلب كلما فُتحت المحادثة. ويحمل الطلب User-Agent التالي: facebookexternalhit/1.1 Facebot Twitterbot/1.0. تكفي خدمة مجانية لتسجيل الطلبات مثل webhook.site؛ فلا يحتاج المهاجم إلى بنية خاصة به.

request log behind the link
$ GET /t/aXk9 HTTP/1.1 Cf-Connecting-IP: 91.64.xx.xx ← recipient's real IP └─ geolocates to: Berlin, DE User-Agent: facebookexternalhit/1.1 Facebot Twitterbot/1.0 X-Forwarded-For: 91.64.xx.xx [=] recipient-side fetch — zero taps, zero consent [=] control: WhatsApp → sender-side fetch (no recipient IP) [=] control: Telegram → server-side fetch (datacenter IP)

تسجيل توضيحي، وعنوان IP فيه مثال فقط. استخدمت الاختبارات الفعلية عنوانًا مؤقتًا لتسجيل الطلبات، وأكدت أن مصدر الطلب هو جهاز المستلِم، بالمقارنة مع WhatsApp وTelegram.

الإصدارات المتأثرة

imo Messenger لنظام iOS بالإصدار 2026.1.3 وmacOS بالإصدار 2.27، وإصدار Android المتاح وقت الاختبار في 1 مارس 2026. لا يتأثر Windows، لأن نسخته لا تنشئ معاينة الرابط على جهاز المستخدم. لا يتوفر إصدار مُصلَح.

لماذا تزداد أهمية ذلك في imo

يسمح imo بالتواصل غير المطلوب عبر المجموعات وأرقام الهواتف. لا يحتاج المهاجم إلى أن يكون جهة اتصال وافق عليها المستلِم؛ فقد تكفي مجموعة مشتركة أو إجابة واحدة لإرسال الرابط وتفعيل التسريب.

السلوك المتوقع

  • جلب المعاينة عبر وكيل على الخادم، كما في Signal وWhatsApp وiMessage؛ أو
  • إنشاء المعاينة على جهاز المرسِل فقط وإدراج بياناتها في الرسالة المشفّرة؛ أو
  • تفعيل المعاينات بموافقة صريحة بعد توضيح أنها قد تكشف عنوان IP.

تفاصيل تقييم CVSS 3.1

AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N الدرجة الأساسية: 4.3، متوسطة

يقتصر الأثر على كشف عنوان IP وUser-Agent، وهو C:Low؛ لذلك تبقى الخطورة متوسطة مهما قلّ التفاعل المطلوب. إذا صدر الطلب دون فتح المحادثة، يصبح معيار التفاعل UI:N والدرجة 5.3، وتبقى متوسطة.

F-STORAGE · CWE-312

تخزين بيانات المصادقة كنص واضح

متوسطة · CVSS 6.2

الوصف

تُخزَّن بيانات المصادقة، ومنها رقم الهاتف وملف تعريف ارتباط الجلسة وUDID والرموز، كنص واضح في بيانات التطبيق المحلية: داخل LevelDB على macOS وملف بيانات على Windows. وفي Windows يُخزَّن مفتاح AES-CBC كنص واضح بجوار البيانات المشفّرة، مما يُبطل الحماية عمليًا: أي شخص يستطيع قراءة الملفات يمكنه فك التشفير.

الأثر

يستطيع مهاجم لديه وصول لقراءة الملفات المحلية الاطلاع على بيانات المصادقة، بما فيها رمز جلسة نشطة. قد يحدث ذلك عند فقدان جهاز بلا تشفير كامل للقرص أو سرقته، أو وجود نسخ احتياطية غير مشفّرة في تخزين مشترك، أو برنامج خبيث بصلاحيات المستخدم، أو استخراج جنائي للبيانات. لم أختبر إمكان إعادة استخدام الرمز لانتحال المستخدم دون مصادقة جديدة؛ فهذا يعتمد على كيفية ربط الجلسات في خوادم imo.

تفاصيل تقييم CVSS 3.1

AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N الدرجة الأساسية: 6.2، متوسطة

الأثر على السرية مرتفع لأن بيانات المصادقة مكشوفة بالكامل. لا تتأثر سلامة البيانات أو الإتاحة. اشتراط الوصول المحلي، أي AV:Local، يبقي الدرجة الأساسية ضمن المستوى المتوسط.

حول درجات الخطورة

لماذا لا أرفع هذه الدرجات تعتمد الدرجة الأساسية في CVSS على مسار الهجوم والتفاعل المطلوب وأثره على السرية والسلامة والإتاحة، لا على مدى إثارة عنوان التقرير للقلق. كشف IP يقع ضمن C:Low؛ وكونه «دون نقرة» يغيّر معيار التفاعل فقط، ولا يرفع حجم الأثر إلى مستوى مرتفع. أما التخزين كنص واضح فيحتاج إلى وصول محلي، لذا يبقيه AV:Local في المستوى المتوسط. المشكلتان حقيقيتان وتستحقان الإصلاح، لكن خطورتهما متوسطة. أفضّل درجات مبررة على درجات مبالغ فيها.

التسلسل الزمني للإفصاح


يوثق هذا التقرير ضعفًا في الخصوصية وحماية البيانات لأغراض البحث والدفاع. لا يتضمن برنامجًا خبيثًا أو أداة استغلال جاهزة، سوى عنوان بسيط لتسجيل الطلبات وعرض التسريب.