OWN NEWS GATHER
← 戻る
The Hacker News

Telegramデスクトップ版のHTML出力機能に脆弱性、メッセージ窃取の恐れ――修正前の過去エクスポートにも注意

要点

  • Telegram DesktopのHTMLエクスポート機能において、ボット経由で悪意あるJavaScriptを混入させられる脆弱性が存在していたことが判明した。

  • 細工されたHTMLファイルをブラウザで開くとスクリプトが自動実行され、ファイル内のメッセージ履歴やメタデータが外部サーバーへ送信される恐れがある。

  • ボットが直接グループに参加していなくても、メッセージの転送を通じてチャット履歴にスクリプトが残り、将来のエクスポート時に発動する仕組みだった。

  • 開発元は2026年7月公開のバージョン7.0.1などで修正済みだが、修正前の古い版で出力された既存のHTMLファイルは依然としてスクリプトを含む可能性がある。

  • セキュリティ企業ExPatchの研究者が2026年9月12日に公開した調査報告により、メッセージングアプリ「Telegram」のデスクトップ版クライアントにおいて、チャット履歴をHTML形式でエクスポートする機能に脆弱性が存在していたことが明らかになった。攻撃者が細工したメッセージを含むチャット履歴を出力し、そのHTMLファイルをWebブラウザで開いた場合、チャット内のメッセージが外部サーバーへ不正送信されたり、画面表示を改ざんされたりする危険があったという。Telegram側は2026年7月公開のアップデートで修正対応を行っている。

ボタン表示名のエスケープ処理漏れが原因

Telegram Desktop(Windows、macOS、Linux向け)には、特定のチャットやアカウント全体のメッセージ履歴をブラウザで閲覧可能なHTMLファイルとして保存する機能が備わっている。また、Telegram上のボットはメッセージの下部に「インラインキーボード(メッセージ直下に並ぶ操作用ボタン)」を配置でき、ボタン上に表示するテキストを自由に設定できる。

研究者のDenis Rostilov氏とAleksander Rostilov氏によると、修正前のTelegram Desktopでは、このボタンテキストをHTMLファイルへ書き出す際にエスケープ処理(HTMLの特殊記号をプログラムコードではなく文字として認識させる変換処理)が行われていなかった。本文や送信者名などは適切にエスケープされていたものの、ボタンの表示文字列のみ処理から漏れていたという。

この不備により、ボットがボタンテキスト内に不可視文字とともに<script>タグを埋め込むことで、アプリ上では空のボタンに見せかけながら、HTMLエクスポートファイル内に悪意あるスクリプトを仕込むことが可能となっていた。

開くだけで実行されるデータ窃取と表示改ざん

このスクリプトが動作するには、修正前のバージョンでHTMLエクスポートが行われ、該当メッセージが含まれており、JavaScriptが有効なブラウザでそのファイルが開かれるという3つの条件が揃う必要がある。ユーザーが画面上で追加のクリック操作をしなくても、ファイルを開いた時点でスクリプトが自動実行される仕組みだった。

スクリプトが起動すると、該当HTMLファイル内に含まれる全メッセージの本文、送信者名、投稿日時のほか、チャット名、チャットの種類、メンバー数、ローカルのファイルパスといった情報を読み取り、攻撃者のサーバーへ送信できたという。なお、Telegram Desktopはエクスポート時に1000件ごとにファイルを分割する仕様のため、1つのファイルから露出するのはそのファイル内のデータに限定される。

さらにスクリプトはページの表示内容を書き換えることも可能で、研究者の実証ではエクスポート画面全体をTelegramの偽の認証フォームに差し替える動作や、記録として保存されているメッセージの日時や送信者を改ざんして見せる挙動が確認された。ただし、この改ざんはブラウザ上の表示に限定され、Telegramのサーバー上のデータやディスクに保存された元ファイル自体が書き換わるわけではない。

転送でグループへ持ち込まれる攻撃シナリオ

本脆弱性は、攻撃元のボットがターゲットのグループチャットに直接参加していなくても成立する点が特徴とされている。Telegramでは、リンクボタンのみを持つボットのメッセージを別のチャットへ転送した場合、ボタン情報が維持されたまま転送される仕様になっている。

そのため、一般ユーザーがボットの投稿をグループへ転送するだけで、グループの履歴内にスクリプトが持ち込まれる。該当メッセージが削除されない限り履歴に残り続けるため、数か月後や数年後に別のユーザーがそのグループをエクスポートした場合にもスクリプトが組み込まれるリスクがあった。

研究チームはこの脆弱性の深刻度をCVSS 3.1(脆弱性の深刻度を評価する国際的な共通基準)スコアで「8.2」と評価している。なお、研究者は2026年6月1日に本欠陥を発見し、6月3日にTelegramへ報告した。検証は自身のテストアカウントおよびグループでのみ行われており、一般ユーザーへの実被害は確認されていない。

影響範囲と修正状況、過去ファイルへの対策

本脆弱性の影響を受けるのは、2024年3月リリースの「Telegram Desktop 4.15.1」から「6.9.3」までのバージョンである。ソースコード上では約2年4か月にわたりエスケープ処理の欠落が存在していた。

Telegram Desktopの開発者John Preston氏によりエスケープ処理を追加する修正が施され、2026年7月3日公開の「6.9.4 ベータ版」および7月14日公開の「7.0.1 安定版」で問題が解消された。

ただし、アプリを最新版に更新しても、修正前に出力された既存のHTMLファイル内に埋め込まれたスクリプトが消去されるわけではない。研究者はTelegram Desktopを最新版(7.0.1以降、またはベータ版6.9.4以降)へアップデートすることに加え、修正前にHTML形式で保存したチャット履歴については再度エクスポートを行うか、JavaScriptを無効化したブラウザでのみ開くよう推奨している。

元URL