در چت‌های تلگرام، یک استیکر انیمیشنی در حال گردش است که با نمایش داده شدن، برنامه را بسته می‌کند. این آسیب‌پذیری در iOS، اندروید، macOS و ویندوز قابل تکرار است؛ اما نسخه وب تلگرام همچنان کار می‌کند. گزارش این آسیب‌پذیری از ژوئیه در بخش پشتیبانی تلگرام وجود داشت؛ اصلاح آن در سپتامبر آغاز شد، زمانی که فایل به صورت گسترده منتشر شد. به عبارت دیگر، تلگرام یک کراشر در میان استیکرها پیدا کرده بود.

نحوه عملکرد کراشر

استیکر انیمیشنی در تلگرام فایلی از نوع TGS است: یک فایل JSON فشرده شده با gzip که با فرمت Lottie نوشته شده و انیمیشن با خطوط برداری و نقاط تعریف شده است. مشتری‌ها این فایل‌ها را با موتور انیمیشن داخلی خود رندر می‌کنند — و دقیقاً همین موتور از برخورد با فایل مخرب جان سالم به در برمی‌دارد. در بحث‌های مربوط به این باگ، گفته شده که مشکل از تعداد نقاط است: انیمیشن حاوی تعداد غیرعادی زیادی از رئوس خطوط است و مشتری در هنگام تجزیه و تحلیل این داده‌ها از کار می‌افتد. نسخه وب تلگرام از موتور متفاوتی برای رندر کردن Lottie استفاده می‌کند؛ بنابراین تنها نسخه رسمی که از این مشکل مصون است، نسخه وب است.

نکته جالب دیگر این است که تلگرام یک بررسی سروری برای فایل‌های استیکر آپلود شده دارد — بخشی از فایل‌های نادرست توسط آپلودر رد می‌شوند — اما این استیکر کراشر از این بررسی عبور می‌کند. مشتری فایل را به عنوان یک استیکر معمولی دریافت می‌کند و در مرحله رندر کردن، در سمت خودش از کار می‌افتد.

به همین دلیل است که گستره کراشر این است: هر کسی که در رابط کاربری آن، انیمیشن را در محدوده دید بگیرد — در چت، در پیش‌نمایش گفتگو یا در لیست واکنش‌ها — برنامه او بسته می‌شود.

توالی زمانی

این آسیب‌پذیری از ژوئیه شناخته شده بود. باگ‌هانتر @w1r3l355 گزارشی در بخش پشتیبانی تلگرام ارسال کرد که مربوط به یک استیکر بود که تمام مشتری‌های غیروب وب را می‌کرد — اما فایل را به صورت عمومی منتشر نکرد. این گزارش در Android، iPhone، Mac و ویندوز بررسی شد: مشتری‌ها در همه چهار پلتفرم بسته می‌شدند و چتی که استیکر در آن فرستاده شده بود، برای شرکت‌کنندگان دیگر دیگر باز نمی‌شد. هیچ پاسخی از سوی تلگرام دریافت نشد و هیچ پرداختی نیز انجام نشد.

در اوایل سپتامبر، فایل دوباره کشف شد — این بار به جای گزارش، آن را در چت‌ها گسترش دادند. در ۸ سپتامبر، وکتور دوم ظاهر شد: از استیکر یک ایموجی سفارشی ساخته شد و در وضعیت (Status) قرار داده شد در این پیام. ایموجی‌های سفارشی هم از نوع Lottie هستند و وضعیت در کنار نام کاربر در هر چتی که کاربر پیام می‌فرستد نمایش داده می‌شود — بنابراین کراشر دیگر نیازی به ارسال پیام نداشت.

اصلاح پس از گسترش فایل در میان کاربران آغاز شد. در همین مدت، اینترنت آمار را جمع‌آوری کرد:

The post on Telegram — @adele_toberg
استیکر خراب در مقابل رکن

راه‌حل‌های موقت تا اصلاح شود

تمام راه‌حل‌های کاربردی به یک نکته کلی منتهی می‌شوند: جلوگیری از رندر شدن انیمیشن توسط مشتری.

  • حالت صرفه‌جویی انرژی در تنظیمات تلگرام، پخش خودکار استیکرها و ایموجی‌های انیمیشنی را غیرفعال می‌کند — فایل تجزیه نمی‌شود و کراشر اتفاق نمی‌افتد. بهترین راه‌حل موقت.
  • اگر برنامه هنگام راه‌اندازی بلافاصله بسته می‌شود، هر یک از اعلان‌های تلگرام را باز کنید: مشتری با یک چت خاص شروع می‌شود و از چت آخری که باعث خرابی شده است، عبور می‌کند.
  • فشار طولانی روی آیکون تلگرام → «مورد علاقه» یا «پیام بنویس» — اجرای برنامه بدون ورود به آخرین چت باز شده.
  • مشتری وب کار می‌کند: با استفاده از آن می‌توانید فرستنده را پیدا کنید، پیام را حذف کنید و شکایت کنید.

جمع‌بندی راه‌حل‌های موقت توسط کاربران جمع‌آوری شده است.

و یک قاعده ساده بهداشتی برای روزهای آینده: تا زمان اصلاح، از قرار دادن در وضعیت یا نصب مجموعه‌هایی از پیام‌های تصادفی یا «ببین چطور کار می‌کنه» خودداری کنید — تا زمان اصلاح، هر انیمیشن ناشناخته می‌تواند همان فایل باشد. مجموعه‌های تأیید شده در دسته‌بندی‌های ایموجی و استیکر قرار دارند.

اقتصاد گزارش

نکته جالب این است که خود آسیب‌پذیری نیست، بلکه مسیری که این مشکل طی کرده است. گزارش اولیه در ژوئیه با مثالی غیرعمومی مدتی نیم‌ماه بدون پاسخ ماند؛ اصلاح تنها پس از گسترش فایل در میان کاربران آغاز شد. برای مقایسه: تلگرام برای باگی که یک لینک خارجی را به عنوان لینک داخلی ماسک می‌کرد و آدرس IP کاربر را فاش می‌کرد، ۱۰۰ دلار پرداخت کرده بود. اما برای این انیمیشن که تمام مشتری‌های ناتیو را می‌کرد، تا امروز هیچ پرداختی انجام نشده است.

پرسش‌های متداول

استیکرهای مخرب در Telegram چه هستند؟

استیکرهای متحرک یا ایموجی‌های سفارشی که هنگام رندر شدنشان، برنامه Telegram بسته می‌شود. این یک فایل TGS است — یک انیمیشن فشرده Lottie که در آن خطوط با نقاط مشخص شده‌اند؛ در فایل مخرب، تعداد رئوس (نقاط) به طور غیرعادی زیاد است و موتور بومی انیمیشن هنگام پردازش آن‌ها از کار می‌افتد.

آیا استیکر مخرب روی iPhone کار می‌کند؟

بله: از کار افتادن برنامه در iOS، Android، macOS و Windows رخ می‌دهد. نسخه وب Telegram انیمیشن را با موتور دیگری رندر می‌کند و به کار خود ادامه می‌دهد. Telegram Desktop این مشکل (از کار افتادن برنامه) را در نسخه‌های 7.2.7 و 7.2.8 برطرف کرده است.

چگونه از خود در برابر استیکر مخرب محافظت کنیم؟

حالت ذخیره انرژی را در تنظیمات Telegram فعال کنید — این کار پخش خودکار استیکرهای متحرک و ایموجی‌ها را غیرفعال می‌کند. اگر برنامه بلافاصله پس از راه‌اندازی بسته می‌شود، آن را از طریق یک اعلان یا با نگه داشتن طولانی روی آیکون باز کنید و پیام حاوی استیکر را از نسخه وب حذف کنید.

چرا لینک خود استیکر اینجا نیست؟

این یک فایل مخرب است: لینک‌های مربوط به آن منتشر نمی‌شوند.