في 28 أكتوبر، قدم الباحث سيف الدين عزيز محاضرة في مؤتمر OffensiveCon بطوكيو حول ثغرات zero-click في ملصقات تيليجرام المتحركة. هذه الثغرات لا تتطلب أي تفاعل من المستخدم؛ يكفي أن يقوم العميل بعرض الملصق المستلم. ووفقًا للملخص، تم العثور على عدة أخطاء في تلف الذاكرة (memory-corruption bugs) في مكتبة rlottie التي تستخدمها عملاء تيليجرام لرسم هذه الملصقات، وتم تجاوز التحقق من الملصقات على الخادم بسبب أخطاء منطقية في عملية تسليمها. وبالنسبة لتطبيق تيليجرام على نظام iOS، تؤدي هذه السلسلة، بحسب المؤلف، إلى تنفيذ التعليمات البرمجية (code execution). وهذا يؤثر بشكل خاص على مستخدمي أجهزة iPhone و iPad: ففي نظامي Android والكمبيوتر المكتبي، يتم عرض الملصقات بالفعل بواسطة محرك تيليجرام الجديد، بينما لا تزال rlottie مستخدمة في iOS.

ما هو معروف عن المحاضرة

تحمل المحاضرة عنوان "Stickers r-lot-tie Handle: Vulns, Bypasses, and Telegram's Zero-Click Attack Surface" وكانت مدرجة في برنامج اليوم الثاني للمؤتمر، في 28 أكتوبر الساعة 10:30 صباحًا بتوقيت طوكيو. وقد نشر المنظمون لقطة من المسرح في الساعة 01:32 بالتوقيت العالمي المنسق (UTC)، أثناء العرض. لا توجد حتى الآن تسجيلات أو شرائح أو تحليل عام أو أرقام CVE لاكتشافات عزيز، لذا فإن كل ما هو معروف عن المحتوى هو ما ورد في الملخص.

وفقًا للملخص، استغرق البحث حوالي عام ويتكون من ثلاث خطوات:

  • فحص rlottie (Fuzzing rlottie). الفحص هو عملية إدخال ملايين الملفات المشوهة تلقائيًا إلى البرنامج بحثًا عن الأعطال؛ وقد تم هنا استخدام نموذج لغوي (language model) لإجراء هذه العملية. وقد عثر على عدة أخطاء في تلف الذاكرة (memory-corruption bugs) التي، وفقًا للملخص، تؤثر على عملاء تيليجرام على أنظمة iOS و Android والكمبيوتر المكتبي.
  • تجاوز التحقق من الخادم. يقوم خادم تيليجرام بالتحقق من الملصقات ولا يسمح بمرور الملفات المشبوهة — وهذا ما كانت تعتمد عليه نموذج التهديدات. يصف الملخص أخطاء منطقية منفصلة في كيفية تسليم الملصقات والتحقق منها، وعدة طرق لتجاوز الحماية على الخادم وفي العميل.
  • سلسلة هجمات ضد iOS. تم تجميع كل ذلك في استغلال (exploit) يقوم بتنفيذ التعليمات البرمجية (code execution) في تيليجرام لنظام iOS؛ ويناقش المؤلف قيود الاستغلال بشكل منفصل.

لا توجد خطوات لإعادة الإنتاج في الملخص، ولا توجد في هذه المقالة أيضًا.

لماذا الملصق خطير بدون نقرة

الملصق المتحرك هو ملف TGS: وهو ملف JSON مضغوط بصيغة gzip بتنسيق Lottie، حيث يتم وصف الرسوم المتحركة بواسطة منحنيات متجهة. يقوم العميل بتحويله إلى صورة نقطية (rasterizes) باستخدام مكتبة أصلية بمجرد أن يظهر الملصق في المنطقة المرئية: في الدردشة، في معاينة المحادثة، في التفاعلات، في رموز المشاعر المخصصة للحالة. لذلك، فإن الخطأ في برنامج العرض (renderer) يمثل سطح هجوم بدون تدخل المستخدم، والمرشح الوحيد بين المرسل والتعليمات البرمجية المعرضة للخطر هو خادم تيليجرام.

من هنا يأتي السؤال الذي يختتم به الملخص: إذا كانت أمان العميل يعتمد على قرار المزود بشأن الملف الذي سيصل إلى التعليمات البرمجية المعرضة للخطر، فماذا يكون هذا — إجراء حماية، خطر معماري، أم شيء أقرب إلى الباب الخلفي (backdoor)؟

قضية ZDI

تستكمل المحاضرة الجدل الذي بدأ في الربيع. في 26 مارس، أبلغت Zero Day Initiative تيليجرام عن خطأ في rlottie يسمح بكتابة البيانات قبل بداية المخزن المؤقت المخصص وتنفيذ التعليمات البرمجية. في 31 مارس، ردت تيليجرام بأن الثغرة قد تم إغلاقها عن طريق التحقق على الخادم، وفي 14 أبريل طلبت سلسلة كاملة تؤدي إلى تنفيذ التعليمات البرمجية. في 15 أكتوبر، نشرت ZDI نشرة ZDI-26-757 كـ "ثغرة بدون إصلاح"، بتقييم CVSS 7.0؛ في الربيع، عندما تم الكتابة عن القضية لأول مرة، كان التقييم المذكور هو 9.8 (SecurityAffairs، CyberInsider). بُنيت محاضرة عزيز كدحض لحجة تيليجرام: فالتعليمات البرمجية التي كان يُعتقد أنها غير قابلة للوصول، تبين أنها قابلة للوصول.

مكتبة rlottie نفسها ليست هدفًا جديدًا لتيليجرام. في عام 2020، عثرت Shielder على 13 خطأ فيها، بما في ذلك CVE-2021-31322؛ وقد تم إصلاحها في الإصدارات 7.1 في خريف عام 2020، ونُشر التحليل في فبراير 2021. في سبتمبر 2026، انتشر ملصق في المحادثات يتسبب في إغلاق التطبيق على جميع العملاء باستثناء الويب.

ما الذي تغيره تيليجرام في التعليمات البرمجية

تكتب تيليجرام برنامج عرض Lottie الخاص بها بلغة Rust — وهو tlottie. ويذكر وصفه صراحة أن JSON الرسوم المتحركة يعتبر مدخلاً غير موثوق به، ويتم مقارنته بفرع (fork) من rlottie يعود لعام 2019، والذي تستخدمه العملاء.

في الشيفرة المصدرية لتيليجرام لنظام Android 13.1.1، لم تعد rlottie الأصلية موجودة — بل يوجد tlottie مجمع؛ وقد انتقل Android إليه بحلول الإصدار 12.10.0، والكمبيوتر المكتبي في سبتمبر.

في تيليجرام لنظام iOS، أُضيف tlottie في 11 سبتمبر — كمحرك ثانٍ بجانب rlottie، وليس بدلاً منه. تختار الملصقات، ورموز المشاعر، والتفاعلات، ولوحة مفاتيح الملصقات المحرك عند كل عملية عرض، ويمكن للخادم إعادتها إلى rlottie باستخدام علامة ios_killswitch_disable_tlottie. وفي 50 مكانًا آخر — واجهة المستخدم الثانوية، وشاشات ما قبل تسجيل الدخول، ونافذة "المشاركة"، والتصدير من محرر الوسائط — يتم دائمًا عرضها بواسطة rlottie. لا يظهر من التعليمات البرمجية ما إذا كانت هذه التعديلات مرتبطة باكتشافات عزيز؛ ويذكر الملخص أن التعليمات البرمجية المعرضة للخطر لعملية العرض لا تزال موجودة في العملاء الرسميين.