Telegram Desktop クライアントがすでに実行中の状態で、tg:// リンクをクリックすると、新しいプロセスが起動され、ローカルソケットを介して既存のインスタンスに URL が送信されます。ソフトウェアはメッセージを作成する際に 「OPEN:」 と URL とセミコロンを連結しますが、URL 内に現れるセミコロンはエスケープしません。これにより、攻撃者はセミコロンの後に追加のコマンドを注入することができ、受信側のインスタンスはそれを別の命令として扱います。

攻撃者は、tg://x?a=1;OPEN:interpret:../../../Downloads/Telegram%20Desktop/instructions.txt のようなリンクを作成し、注入された OPEN:interpret: コマンドにより Telegram がそのファイルを読み取り、チャットに内容を送信します。1 つのリンクに複数のこうしたコマンドを組み込むことで、ワンクリックで任意のファイルを複数流出させることが可能になります。

悪意のあるテレグラムリンクをクリックしてセッションファイルを流出させる攻撃の流れを示す図
1 つの細工されたリンクによりファイルの盗難とアカウント乗っ取りを可能にするテレグラム デスクトップの脆弱性を示すイラストbeaksec.github.io

この画像は記事で説明されている攻撃チェーンを示しており、悪意のある tg:// リンクがテレグラムのローカルデータファイルへの不正アクセスにつながることを示しています。

盗まれるファイルには、Telegram のローカルデータが含まれ得ます。具体的には、ソルトと暗号化された Data Encryption Key を保持する key_datas ファイルと、MTProto 認証ファイルです。ユーザーがローカルパスコードを設定していない場合、Key Encryption Key は空のパスワードとソルトのみから導出されるため、攻撃者は DEK をアンラップし、認証ファイルを復号することができ、これにより被害者の Telegram アカウントを完全に掌握することが可能になります。この問題は CVE-2026-107181 として追跡され、CVSS 8.1 の High と評価され、バージョン 7.2.9 (コミット db3405699f) で修正されました。