در تلگرام برای اندروید، خطایی در کد تماسها کشف شد که به گفته استارتاپ NebuSec، از طریق آن میتوان کدی را روی گوشی فردی که تماس را پاسخ میدهد، اجرا کرد. این خطا در نسخه 12.10.4 منتشر شده در 24 سپتامبر رفع شده است. این موضوع به کاربرانی مربوط میشود که تلگرام برای اندروید آنها قدیمیتر از این نسخه است؛ برای انجام حمله، کافی است که مخاطب تماس را پاسخ دهد. تلگرام از ماه آگوست از این باگ مطلع بود، اما با این ادعا که این موضوع منجر به اجرای کد میشود، موافق نیست.
چه باید کرد
تلگرام برای اندروید خود را به نسخه 12.10.4 یا جدیدتر بهروزرسانی کنید؛ آخرین نسخه در کدهای منبع کلاینت، 13.1.1 مورخ 25 اکتبر است. شماره نسخه خود را میتوانید در پایین صفحه «تنظیمات» مشاهده کنید. تا زمانی که امکان بهروزرسانی وجود ندارد، میتوانید تماسها را در «تنظیمات → حریم خصوصی و امنیت → تماسها» به «مخاطبین من» یا «هیچکس» محدود کنید و تماسهای ناشناس را پاسخ ندهید.
به گفته NebuSec، شواهدی مبنی بر تأثیر این خطا بر iOS، دسکتاپ یا تماسهای گروهی وجود ندارد؛ آنها تماسهای شخصی را روی گوشیهای دارای پردازنده ARM64 بررسی کردهاند.
خطا کجاست
در طول تماس، کلاینتها پیامهای خدماتی (service messages) را درباره وضعیت خود مبادله میکنند: اینکه آیا میکروفون و دوربین روشن هستند و ویدیو چگونه چرخانده شده است. این پیامها توسط کتابخانه تماس tgcalls که بین کلاینتهای تلگرام مشترک است، تجزیه (parsing) میشوند. در تابع تجزیه این پیام، کد بررسی میکرد که فیلد چرخش ویدیو (video rotation) وجود دارد و یک عدد است – اما سپس مقدار را از فیلد مجاور، یعنی وضعیت ویدیو (video state)، میگرفت. اگر مخاطب چرخش را بدون وضعیت ویدیو ارسال میکرد، کلاینت به عنصری از دیکشنری که وجود نداشت، دسترسی پیدا میکرد و مقدار آن را میخواند – رفتاری که زبان C++ آن را تعریف نمیکند: برنامه ممکن است کرش کند یا هر چیزی را از حافظه بخواند (memory address leak).
اصلاحیه شامل چهار خط در دو نسخه پروتکل است که در آن یک نام فیلد با نام دیگری جایگزین شده است. در کتابخانه مشترک tgcalls، این اصلاحیه در 21 آوریل تحت عنوان «Fix camera rotation» ظاهر شد، اما در تلگرام برای اندروید، تنها در نسخه 12.10.4 در 24 سپتامبر اعمال شد.
ادعای NebuSec چیست
در 29 اکتبر، NebuSec اعلام کرد که این آسیبپذیری توسط محصول آنها، NebuSec Code Security، که بر روی مدل GPT-5.4 کار میکند – که خودشان آن را «دیناسور» مینامند – کشف شده است. بر اساس گزارشهای آنها که در SQ Magazine و kod.ru بازگو شده است، نسخههای 8.6.2 تا 12.10.3، یعنی نسخههای منتشر شده از مارس 2022 تا سپتامبر 2026، آسیبپذیر هستند؛ مهاجم تنها به یک حساب کاربری عادی و یک تماس پاسخ داده شده نیاز دارد.
اثبات اجرای کد توسط NebuSec یک ویدیو است؛ هیچ تحلیل فنی و شماره CVEای وجود ندارد و این زنجیره به طور مستقل توسط هیچکس تأیید نشده است.
پاسخ تلگرام چه بود
نماینده تلگرام به SQ Magazine اطلاع داد که این خطا در ماه آگوست به شرکت گزارش شده بود و اصلاحیه آن قبل از دریافت گزارش NebuSec منتشر شد. به گفته او، هیچیک از دو گزارش حاوی زنجیره کاری نبود که منجر به اجرای کد شود. kod.ru نیز همین پاسخ را نقل میکند.




