كشف باحث أمني عن ثغرة في Telegram Desktop سمحت لرابط مُصمم بقراءة ملفات من قرص الضحية وإرسالها مباشرة إلى المهاجم، مع إمكانية استهداف ملفات جلسة الدخول الخاصة بالضحية. ووفقًا للتقرير الذي نشره BeakSec، لم يقف أي طلب تأكيد أو فحص صلاحيات بين الرابط والملف.
تكمن خطورة السلسلة في أنها تبدأ بشيء عادي: يضيفك أحدهم إلى مجموعة على Telegram ويظهر رابط في الدردشة. يكفي النقر عليه. بعدها يمرر Telegram Desktop الرابط إلى النسخة قيد التشغيل على جهازك، وهنا يكمن المشكل — حرف فاصل لم يتم تأمينه أبدًا.
كيف عملت ثغرة Telegram Desktop؟
تسمح أنظمة التشغيل للتطبيقات بتسجيل مخططات URI الخاصة بها، بحيث يؤدي رابط tg:// إلى تشغيل Telegram. إذا كان التطبيق مفتوحًا بالفعل، يبدأ النظام عملية ثانية تتصل بمقبس محلي، وتُمرر الرابط إلى النسخة العاملة كنص عادي ثم تخرج. البيانات المهيكلة التي تعبر المقبس يجب تسطيحها، وتنسيق Telegram بسيط: كلمة مفتاحية، وسيطتها، وفاصلة منقوطة تغلق كل تعليمة.
العيب هو أن الفاصلة المنقوطة لا يتم تأمينها داخل الرابط المُرسل. لذلك يصل رابط يحمل فاصلته المنقوطة الخاصة إلى النسخة العاملة مقسمًا إلى تعليمتين بدلًا من واحدة. أمر غير ضار يقع على جانب، وعلى الجانب الآخر يقع OPEN: الذي يقبل أي عنوان URL دون تصفية لمخططه.
هذا يقود إلى interpret:، وهو مخطط داخلي في Telegram غير مسجل في نظام التشغيل. وُجد ليسمح للتطبيق بقراءة ملف تعليمات صغير يحدد دردشة الوجهة والملف المراد إرساله. وعند الوصول إليه عبر أمر OPEN: المُدس، حوّل الرابط المنقور إلى وسيلة لقراءة ملف وإرساله إلى دردشة.
- الفاصل غير المؤمّن في قناة IPC أحادية النسخة في Telegram Desktop يقسم رابطًا واحدًا إلى عدة أوامر.
- OPEN: يقبل أي عنوان URL دون تصفية للمخطط، ما يسمح للمهاجم بالوصول إلى مخطط interpret: الداخلي في Telegram.
- interpret: يقرأ ملفًا مذكورًا في ملف تعليمات ويرسله إلى دردشة دون التحقق من هوية الطالب.



