28 Ekim'de Tokyo'daki OffensiveCon konferansında araştırmacı Saifeldeen Aziz, Telegram'ın animasyonlu çıkartmalarındaki zero-click güvenlik açıklarına dair bir rapor sundu — yani kullanıcının hiçbir şeye tıklamasına gerek kalmadan, sadece istemcinin gönderilen çıkartmayı işlemesiyle tetiklenen açıklar. Duyuruya göre, Telegram istemcilerinin bu tür çıkartmaları çizmek için kullandığı rlottie kütüphanesinde birkaç bellek bozulması hatası bulundu ve çıkartmaların sunucu tarafındaki doğrulaması, teslimatındaki mantıksal hatalar sayesinde atlatılabildi. Yazarın belirttiğine göre, iOS için Telegram'da bu zincir, kod yürütmeye yol açıyor. Bu durum en çok iPhone ve iPad sahiplerini etkiliyor: Android ve masaüstü sürümlerinde çıkartmalar zaten Telegram'ın yeni motoru tarafından çizilirken, iOS'ta rlottie hala kullanılıyor.

Rapor Hakkında Bilinenler

Raporun adı «Stickers r-lot-tie Handle: Vulns, Bypasses, and Telegram's Zero-Click Attack Surface» olup, konferansın ikinci günü olan 28 Ekim'de Tokyo saatiyle 10:30'da programda yer aldı. Organizatörler, konuşma sırasında 01:32 UTC'de sahneden bir kare yayınladı. Aziz'in bulgularına dair henüz bir kayıt, slayt, kamuya açık analiz veya CVE numarası bulunmadığından, içeriği hakkında bilinen her şey duyurudan ibaret.

Duyuruya göre, araştırma yaklaşık bir yıl sürdü ve üç adımdan oluşuyor:

  • rlottie fuzzing'i. Fuzzing, programlara milyonlarca bozuk dosyanın otomatik olarak beslenerek çökmelerin aranmasıdır; burada bu işlem bir dil modeli tarafından yürütüldü. Duyuruya göre, iOS, Android ve masaüstü Telegram istemcilerini etkileyen birkaç bellek bozulması hatası bulundu.
  • Sunucu doğrulamasının atlatılması. Telegram sunucusu çıkartmaları kontrol eder ve şüpheli dosyaları engellerdi — tehdit modelinin dayanağı buydu. Duyuruda, çıkartmaların teslim edilme ve doğrulanma şeklindeki ayrı mantıksal hatalar ve sunucudaki ve istemcideki birkaç koruma atlatma yöntemi açıklanıyor.
  • iOS'a karşı zincir. Tüm bunlar, Telegram for iOS'ta kod yürüten bir exploit'te birleştirildi; exploit'in sınırlamaları yazar tarafından ayrıca inceleniyor.

Duyuruda yeniden üretim adımları bulunmamaktadır ve bu makalede de yer almamaktadır.

Neden Bir Çıkartma Tıklama Olmadan Tehlikelidir?

Animasyonlu bir çıkartma, Lottie formatında sıkıştırılmış bir gzip JSON dosyası olan bir TGS dosyasıdır; animasyon vektör konturlarıyla tanımlanır. İstemci, çıkartma görünür alana (sohbette, diyalog önizlemesinde, tepkilerde, özel durum emojilerinde) girer girmez onu yerel bir kütüphane ile kendisi rasterize eder. Bu nedenle, renderer'daki bir hata, kullanıcı etkileşimi olmadan bir saldırı yüzeyi oluşturur ve gönderen ile savunmasız kod arasındaki tek filtre Telegram sunucusudur.

Buradan, duyurunun sonunda sorulan soru ortaya çıkıyor: İstemcinin güvenliği, sağlayıcının hangi dosyanın savunmasız koda ulaşacağına karar vermesine dayanıyorsa, bu bir koruma önlemi mi, mimari bir risk mi yoksa bir backdoor'a daha yakın bir şey mi?

ZDI Vakası

Bu rapor, baharda başlayan bir tartışmanın devamıdır. 26 Mart'ta Zero Day Initiative, Telegram'a rlottie'deki, ayrılmış bir arabelleğin başlangıcından önce veri yazmaya ve kod yürütmeye izin veren bir hata hakkında bilgi verdi. 31 Mart'ta Telegram, güvenlik açığının sunucu tarafındaki bir kontrolle kapatıldığını yanıtladı, 14 Nisan'da ise kod yürütmeye kadar olan tam zinciri istedi. 15 Ekim'de ZDI, ZDI-26-757 bültenini düzeltilmemiş bir güvenlik açığı olarak CVSS 7.0 puanıyla yayınladı; baharda, konu ilk yazıldığında, 9.8 puanı belirtilmişti (SecurityAffairs, CyberInsider). Aziz'in raporu, Telegram'ın argümanını çürütmek üzerine kuruludur: ulaşılamaz olduğu düşünülen kod, ulaşılabilir çıktı.

Telegram'ın rlottie'si yeni bir hedef değil. 2020'de Shielder, içinde CVE-2021-31322 dahil 13 hata buldu; bunlar 2020 sonbaharında 7.1 sürümlerinde düzeltildi ve analizi Şubat 2021'de yayınlandı. Eylül 2026'da, web dışındaki tüm istemcilerde uygulamayı kapatan bir çıkartma sohbetlerde dolaşmıştı.

Telegram Kodda Neler Değiştiriyor?

Telegram, Rust ile kendi Lottie renderer'ını yazıyor — tlottie. Açıklamasında, animasyon JSON'unun güvenilmeyen bir girdi olarak kabul edildiği açıkça belirtiliyor ve istemcilerin kullandığı 2019 yılına ait bir rlottie fork'u ile karşılaştırılıyor.

Telegram for Android 13.1.1 kaynak kodlarında yerel rlottie artık yok — derlenmiş tlottie bulunuyor; Android 12.10.0 sürümüne geçiş yapmıştı, masaüstü ise Eylül'de.

Telegram for iOS'a tlottie 11 Eylül'de eklendi — rlottie yerine değil, onun yanında ikinci bir motor olarak. Çıkartmalar, emojiler, tepkiler ve çıkartma klavyesi her çizimde motoru seçer ve sunucu, ios_killswitch_disable_tlottie bayrağıyla onları rlottie'ye geri döndürebilir. Ayrıca 50 başka yerde — ikincil arayüz, giriş öncesi ekranlar, "Paylaş" penceresi, medya düzenleyiciden dışa aktarma — her zaman rlottie çizim yapar. Bu düzeltmelerin Aziz'in bulgularıyla ilgili olup olmadığı koddan anlaşılamıyor; duyuruda, savunmasız rendering kodunun resmi istemcilerde kaldığı belirtiliyor.