İçeriğe geç
edumintsBlog
Güvenlik2 dk okuma

Telegram Desktop Zafiyeti: Tek Tıkla IPC Enjeksiyonu ve Hesap Ele Geçirme

Kaynak: Hacker News

Paylaş
GüvenlikEdumints Blog
İçindekiler 4 başlık

Giriş#

Bir Telegram grubuna eklendiğinizi ve sohbette paylaşılan masum görünen bir bağlantıya tıkladığınızı hayal edin. Tek bir tıklama sonucunda Telegram hesabınız artık yalnızca size ait olmaktan çıkabilir. Telegram Desktop istemcisinde keşfedilen bu zafiyet zinciri iki temel kusura dayanmaktadır:

  • IPC Enjeksiyonu: Telegram Desktop, tıklanan harici bağlantıları yerel bir soket üzerinden arka planda zaten çalışan asıl örneğine düz metin olarak aktarır. Ancak komutları birbirinden ayırmak için kullandığı özel karakteri hiçbir zaman kaçırmaz (escape etmez). Bu durum, özel olarak hazırlanmış tek bir bağlantının tek bir talimat yerine birden fazla bağımsız komut olarak yorumlanmasına yol açar.
  • Tehlikeli Dahili URI İşleyici: Enjekte edilen komutun ulaştığı interpret: adlı dahili URI şeması, talimat dosyasında adı geçen herhangi bir dosyayı kullanıcı onayı veya kaynak doğrulaması olmaksızın okur ve doğrudan sohbete gönderir.

Bu iki güvenlik açığının birleşimi, kurbanın oturum açma dosyalarının sızdırılmasına ve hesabın tamamen ele geçirilmesine imkan tanır.

Zafiyet Detayları#

  • Etkilenen Sürümler: Telegram Desktop 7.2.8 ve öncesi (Windows 6.9.3 üzerinde doğrulandı)
  • Etki: Uzaktan rastgele yerel dosya okuma, saldırgan denetimindeki sohbete veri sızdırma ve hesap ele geçirme (Account Takeover)
  • CVE: CVE-2026-107181
  • Düzeltme: 7.2.9 sürümü (db3405699f numaralı commit)
  • Şiddet: 8.1 Yüksek (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N)

Bir Bağlantı, İki Süreç: Zafiyetin Teknik Mekanizması#

İşletim sistemleri, uygulamaların tg:// gibi özel URI şemaları kaydetmesine izin verir. Bir bağlantı tetiklendiğinde mimari şu şekilde işler:

  • İlk Çalıştırma: Eğer Telegram açık değilse, işletim sistemi süreci başlatır, URL dizesini parametre olarak alır ve kendi içinde çözer.
  • Mevcut Süreç: Telegram zaten çalışıyorsa işletim sistemi yeni bir kopya daha başlatır. Yeni süreç yerel sokete bağlanarak istemci olur, bağlantıyı çalışan ana sürece devreder ve kapanır.
  • Serileştirme: Bellekteki URL nesnesi soketten aktarılmak üzere düz metne dönüştürülür (OPEN:tg://...;).
  • Ters Serileştirme ve Enjeksiyon: Ana süreç gelen baytları noktalı virgüllere göre parçalar. Girdi filtrelenmediği için saldırgan araya noktalı virgül ekleyerek kendi ek komutlarını meşru komutlar gibi çalıştırabilir.

Yazılım Geliştiriciler İçin Çıkarımlar#

  • Tür Güvenli IPC Kullanımı: Süreçler arası iletişimde (IPC) ham metin ve karakter tabanlı ayırıcılar yerine şema tabanlı ikili protokoller (Protocol Buffers) veya JSON tercih edilmelidir.
  • Sınırlayıcı Karakter Kaçırma (Escaping): Protokol sınırlarını aşan tüm parametreler ayrıştırıcı karakterlere karşı sıkı biçimde sanitize edilmelidir.
  • Derinlemesine Savunma (Defense-in-Depth): Dosya okuma gibi hassas eylemler gerçekleştiren dahili işleyiciler, çağıranın kimliğini doğrulamalı ve kullanıcıdan açık onay almalıdır.

Kaynak ve atıf

Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:

  • beaksec.github.io/posts/telegram-desktop-one-click-account-takeover