28-oktabr kuni Tokiodagi OffensiveCon konferensiyasida tadqiqotchi Saifeldeen Aziz Telegram animatsiyali stikerlaridagi zero-click zaifliklari haqida ma'ruza qildi. Zero-click zaifliklari deganda, foydalanuvchidan hech qanday harakat talab qilinmaydigan, ya'ni mijoz yuborilgan stikerni shunchaki ko'rsatishi kifoya bo'lgan zaifliklar tushuniladi. E'longa ko'ra, Telegram mijozlari stikerlarni chizish uchun foydalanadigan rlottie kutubxonasida bir nechta memory-corruption bugs (xotira buzilishi xatolari) topilgan, stikerlarni yetkazib berishdagi mantiqiy xatolar tufayli server tekshiruvini chetlab o'tishga muvaffaq bo'lingan. Muallifning so'zlariga ko'ra, iOS uchun Telegramda bu zanjir code execution (kod ijrosi)ga olib keladi. Bu asosan iPhone va iPad egalariga tegishli, chunki Android va desktop versiyalarida stikerlarni Telegramning yangi dvigateli chizadi, iOSda esa rlottie hali ham ishlatilmoqda.
Ma'ruza haqida nimalar ma'lum
Ma'ruza «Stickers r-lot-tie Handle: Vulns, Bypasses, and Telegram's Zero-Click Attack Surface» deb nomlangan va konferensiyaning ikkinchi kuni, 28-oktabr kuni Tokioda soat 10:30 da dasturga kiritilgan edi. Tashkilotchilar ma'ruza vaqtida, UTC bo'yicha soat 01:32 da sahnadan bir kadrni e'lon qilishdi. Azizning topilmalari bo'yicha hozircha yozuvlar, slaydlar, ommaviy tahlillar va CVE raqamlari mavjud emas, shuning uchun mazmuni haqida ma'lum bo'lgan barcha narsa e'londan iborat.
E'longa ko'ra, tadqiqot bir yilga yaqin davom etgan va uch bosqichdan iborat:
- rlottie'ni fuzzing qilish. Fuzzing – dasturga millionlab buzilgan fayllarni avtomatik ravishda kiritish orqali xatolarni topish; bu yerda uni language model (til modeli) amalga oshirgan. U bir nechta memory-corruption bugs topgan, ular e'longa ko'ra, iOS, Android va desktopdagi Telegram mijozlariga ta'sir qiladi.
- Server tekshiruvini chetlab o'tish. Telegram serveri stikerlarni tekshiradi va shubhali fayllarni o'tkazmaydi – tahdid modeli aynan shunga asoslangan edi. E'londa stikerlarning yetkazib berilishi va tekshirilishidagi alohida mantiqiy xatolar hamda server va mijozdagi himoyalarni chetlab o'tishning bir nechta usullari tasvirlangan.
- iOSga qarshi zanjir. Bularning barchasi iOS uchun Telegramda kod ijrosini ta'minlaydigan exploit (eksployt)ga yig'ilgan; eksployt cheklovlarini muallif alohida tahlil qiladi.
E'londa qayta tiklash bosqichlari yo'q va bu maqolada ham ular mavjud emas.
Nima uchun stiker bosishsiz xavfli
Animatsiyali stiker – bu TGS fayli: Lottie formatidagi gzip bilan siqilgan JSON, unda animatsiya vektor konturlari bilan tasvirlangan. Mijoz uni stiker ko'rinadigan joyga tushishi bilanoq, chatda, dialog oldindan ko'rishda, reaksiyalarda, maxsus status emojilarida, mahalliy kutubxona yordamida o'zi rasterizes (rasterizatsiya qiladi). Shuning uchun renderer (renderlovchi)dagi xato foydalanuvchi ishtirokisiz hujum yuzasi hisoblanadi, yuboruvchi va zaif kod o'rtasidagi yagona filtr esa Telegram serveridir.
Shundan kelib chiqib, e'lon oxirida berilgan savol tug'iladi: agar mijoz xavfsizligi provayderning qaysi fayl zaif kodga yetib borishini hal qilishiga bog'liq bo'lsa, bu himoya chorasimi, arxitektura xavfimi yoki backdoor (bekdor)ga yaqinroq narsami?
ZDI ishi
Ma'ruza bahorda boshlangan tortishuvni davom ettiradi. 26-mart kuni Zero Day Initiative Telegramga rlottie'dagi xato haqida xabar berdi, bu xato ajratilgan bufer boshlanishidan oldin ma'lumotlarni yozish va kod ijrosini ta'minlash imkonini beradi. 31-mart kuni Telegram zaiflik serverda tekshirish orqali yopilganini javob qildi, 14-aprel kuni esa kod ijrosigacha bo'lgan to'liq zanjirni so'radi. 15-oktabr kuni ZDI ZDI-26-757 byulletenini tuzatilmagan zaiflik sifatida, CVSS 7.0 bahosi bilan e'lon qildi; bahorda, bu masala birinchi marta yozilganda, 9.8 bahosi tilga olingan edi (SecurityAffairs, CyberInsider). Azizning ma'ruzasi Telegram argumentini rad etish sifatida qurilgan: erishib bo'lmaydigan deb hisoblangan kodga erishish mumkin bo'lib chiqdi.
Telegram uchun rlottie'ning o'zi yangi nishon emas. 2020-yilda Shielder unda 13 ta xato topgan, jumladan CVE-2021-31322; ular 2020-yil kuzida 7.1 versiyalarida tuzatilgan, tahlil esa 2021-yil fevralida chiqqan. 2026-yil sentabrida chatlarda stiker tarqalgan bo'lib, u veb-versiyadan tashqari barcha mijozlarda ilovani yopib qo'ygan.
Telegram kodda nimalarni o'zgartirmoqda
Telegram Rust tilida o'zining Lottie rendererini – tlottieni yozmoqda. Uning tavsifida animatsiya JSONi ishonchsiz kirish deb hisoblanishi to'g'ridan-to'g'ri aytilgan, u mijozlar foydalanadigan 2019-yilgi rlottie fork bilan taqqoslanadi.
Telegram for Android 13.1.1 manba kodlarida mahalliy rlottie endi yo'q – yig'ilgan tlottie yotibdi; Android 12.10.0 versiyasiga o'tgan, desktop esa sentabrda o'tgan.
Telegram for iOSga tlottie 11-sentabr kuni qo'shilgan – rlottie yonida ikkinchi dvigatel sifatida, uning o'rniga emas. Stikerlar, emojilar, reaksiyalar va stiker klaviaturasi har bir chizishda dvigatelni tanlaydi va server ularni ios_killswitch_disable_tlottie flagi bilan rlottiega qaytarishi mumkin. Yana 50 joyda – ikkinchi darajali interfeys, kirishdan oldingi ekranlar, "Ulashish" oynasi, media muharriridan eksport – har doim rlottie chizadi. Bu o'zgarishlar Azizning topilmalari bilan bog'liqmi, koddan ko'rinmaydi; e'londa zaif renderlash kodi rasmiy mijozlarda qolayotgani aytilgan.




