セキュリティとプライバシー

エスケープ漏れによるIPCインジェクションを悪用したTelegram Desktopのアカウント乗っ取り

Telegram Desktopに存在する重大な脆弱性により、攻撃者は不適切な入力エスケープ処理を悪用し、クリック1回だけでセッションファイルを窃取してアカウントを乗っ取ることが可能になります。

Illustration of a broken connection between a Telegram link and a secure lock
この記事用に生成されたイラスト

英語の原文から自動翻訳されました。

あるセキュリティ研究者が、Telegram Desktopにおける高深刻度の脆弱性を公開しました。この脆弱性を利用すると、攻撃者はユーザーのクリック1回でアカウントを乗っ取ることができます。問題となるのは、Windowsシステムにおけるプロセス間通信(IPC)の処理方法です。グループチャットを通じて細工されたリンクを送信することで、確認ダイアログを表示させることなく、機密性の高いセッションデータを含む任意のローカルファイルを読み出すことが可能になります。

何が起きたのか

この脆弱性はTelegram Desktopのバージョン7.2.8以前に影響します。Windows用のバージョン6.9.3で動作確認済みです。本件は2026年6月25日にZero Day Initiative (ZDI)を通じて報告されました。Telegram側は2026年9月16日、コミット db3405699f を通じて独自に対応策を実施し、翌朝リリースされたバージョン7.2.9で修正を行いました。ZDI側のケースは修正の確認が取れた後、2026年9月30日にクローズされ、CVE識別子は2026年10月7日に割り当てられました。

攻撃チェーンは、被害者が攻撃者によって制御されているTelegramグループに追加されることから始まります。攻撃者はチャット内に特別に細工されたリンクを投稿します。被害者がこのリンクをクリックすると、オペレーティングシステムが新しいTelegramプロセスを起動します。この新プロセスは既にインスタンスが稼働していることを検知し、ローカルソケット経由でURLを既存のインスタンスへ転送しようと試みます。アプリケーションが送信データ内のセミコロンを適切にエスケープしていないため、URLは複数のコマンドに分割されてしまいます。これらの注入されたコマンドは、ディスク上の特定ファイルを読み込み、攻撃者のグループへアップロードする内部機能をトリガーします。攻撃者はその後、これらのファイルから被害者のセッションデータを再構築し、完全なアカウントアクセス権を手にします。

仕組み

Telegram Desktopはオペレーティングシステムに tg URIスキームを登録しています。ユーザーが tg:// リンクをクリックすると、OSがアプリケーションを起動します。Telegramが起動していない場合、新プロセスがリンクを直接処理します。しかし、インスタンスが既にアクティブな場合でも、OSは第2のプロセスを起動します。この冗長なプロセスは、プライマリインスタンスがリッスンしているローカルソケットに接続し、URLをテキスト文字列としてシリアライズして渡します。プライマリインスタンスはこのテキストをデシリアライズしてコマンドを再構築します。

核心的な欠陥はこのシリアライズ処理にあります。Telegramは指示をセミコロンで区切るカスタムフォーマットを使用しています。アプリケーションはソケット経由で送信する前に、URLデータ内に見つかったセミコロンをエスケープしません。攻撃者はリンク内にセミコロンを埋め込むことで、追加のコマンドを注入できます。注入されたコマンドの一つは interpret: URIスキームを利用しており、これは指示ファイルで指定されたファイルを読み込み、チャットへ送信するために設計された内部メカニズムです。このメカニズムにはリクエストの発起人を検証するチェックがなく、ユーザーへの確認プロンプトも表示されないため、tdata フォルダの内容など重要なファイルの静かな外部流出が可能になります。

主要な詳細

  • 脆弱性ID: CVE-2026-107181、CVSSスコアは8.1(High)。
  • 影響を受けるバージョン: Telegram Desktop 7.2.8以前、Windows 6.9.3で確認済み。
  • 修正済みバージョン: Telegram Desktop 7.2.9、2026年9月17日リリース。
  • 攻撃ベクトル: リモートからの攻撃が可能。ユーザーインタラクション(リンククリック)が必要ですが、追加の特権は不要。
  • 影響: 任意のローカルファイル読み出しによる完全なアカウント乗っ取り。
  • 根本原因: プロセス間通信におけるエスケープされていないセミコロンによるコマンドインジェクション。

なぜ重要なのか

今回の事象は、特に信頼境界を越えてデータが厳格なサニタイズなしにやり取りされる際のプロセス間通信(IPC)メカニズムに伴うリスクを浮き彫りにしています。デスクトップアプリケーションを開発するエンジニアにとって、シリアライズとデシリアライズが重要な攻撃対象領域であることの再認識となります。特殊文字が正しくエスケープされていない場合、単純なテキストベースのプロトコルであってもインジェクション攻撃に対して脆弱になり得ます。修正が静かにリリースされ、変更履歴にはレンダリングに関する修正のみが記載されていたという事実は、ベンダーのアドバイザリーに依存するのではなく、積極的なパッチ管理がいかに重要であるかを強調しています。

ユーザーおよびIT管理者にとって、その影響は伝統的なセキュリティ期待値を回避するため深刻です。パスワードのフィッシングはなく、伝統的な意味でのマルウェアインストールもありません。アプリケーション自体が通常の操作を装って悪意のあるアクションを実行します。つまり、エンドポイント保護ツールは、活動が信頼できる署名付きバイナリから由来しているため、これを検知しない可能性があります。UIインタラクションを介してリモートからローカルファイルアクセスが引き起こされ得るという理解は、デスクトップ環境におけるリスク評価の方法を変えます。

対策

  • 即時アップグレード: 脆弱な interpret: スキームを削除し、エスケープ問題を修正したTelegram Desktop バージョン7.2.9以降をインストールしてください。
  • ダウンロードプロンプトの有効化: 「各ファイルの保存先を確認する」設定を有効にし、悪意のある指示ファイルの自動ダウンロードを防いでください。
  • グループ追加の制限: グループへの追加を連絡先に限定し、攻撃者によって制御されたチャットに出会う可能性を低減してください。
  • ローカルパスコードの設定: Telegramの設定で強力なローカルパスコードを設定してください。これによりファイル盗難そのものを防げるわけではありませんが、不正アクセスへの追加的な障壁となります。

Bytechapストアのツール

続きを読む

すべての記事