Skip to content
industry insights

Signalの通話終了ボタンに存在した致命的な死角

赤いボタンはプライベートな会話を終了させるはずのものですが、最も重要な手がかりは日常的なパッチノートの中に隠されていました。このインシデントは、通話の最後の瞬間がなぜ最も脆弱になり得るのかを明らかにしています。

Cassidy Wolfe
Signalの通話終了ボタンに存在した致命的な死角

赤いボタンが最後の言葉ではなかった

Signalの通話インフラ、特に RingRTC ライブラリにおける致命的な欠陥により、通話が完全に終了せず、音声や映像が相手側にストリーミングされ続ける可能性がありました。ユーザーが通話終了ボタンをタップしても、マイクやカメラがアクティブなままになる恐れがありました。この脆弱性は CVE-2026-113380 として追跡され、CVSS 4.0スコアは9.3(緊急)であり、静かな監視のリスクを露呈させました。

悪用には攻撃者が通話に参加している必要があり、見知らぬ人が勝手に盗聴を開始したり、Signalアカウントを広範囲に侵害したりする仕組みではありませんでした。このバグの範囲は通話の切断処理に限定されており、Signalのメッセージ、アカウントインフラ、および堅牢なエンドツーエンド暗号化には影響ありませんでした。この欠陥が悪用された証拠はありません。

根本的な問題は、RingRTCの有限オートマトン(FSM)キューにありました。このキューには、着信ピアイベントに対するレート制限や、終了信号のための優先レーンが欠如していました。攻撃者がこのキューをフラッド(大量送信)することで、ローカルの通話終了イベントをブロックし、メディアストリームを維持させることが可能でした。Signalは9月4日に対処し、通話が確実に終了するように修正をコミットしました。その後、10月20日にCVEが公開される前に、Android、iOS、およびデスクトップクライアント全体でサイレントアップデートが行われました。

混雑したキューがどのように通話終了を妨害したか

Signalのオープンソース通話ライブラリである RingRTC は、Android、iOS、デスクトップでの音声およびビデオ通話を支えています。報告されたこの致命的な欠陥(CVE-2026-113380)は、RingRTCの容量256エントリーの有限オートマトンイベントキューに起因するものでした。

この設計が致命的な死角を生んでいました。ピアが生成したイベントが容易にキューを埋め尽くす一方で、ユーザーが赤いボタンを押すローカルの通話終了イベントには優先順位がありませんでした。そのため、終了イベントは通常の通話イベントの列に並ばされ、即時の切断を強制することができませんでした。

シャットダウンプロセスが停滞すると、マイクストリームやカメラストリームが相手側にライブのまま残る可能性がありました。遠隔地の相手は、通話が完全に終了するのを効果的に妨害し、音声と映像を流し続けることができました。この脆弱性は CVSS 4.0スコアで9.3 を獲得し、その深刻さを示しました。懸念すべき事態ですが、実際に悪用された証拠はなく、この欠陥を突くには通話への参加が必要でした。

静かなパッチ、そして公開警告

Signalは9月4日にRingRTCへの修正をコミットしましたが、その変更ログは「例外的なケースにおいて通話が確実に終了するようにする」という非常に控えめなものでした。独立したシャットダウン処理とハードタイムアウトを追加するこのパッチは、その後の数週間でAndroid、iOS、デスクトップ版に展開されました。この静かなアップデートは透明性について疑問を抱かせるかもしれませんが、悪意の証拠ではありません。重大な脆弱性に対する迅速かつ事前の告知なしのパッチ適用は、公開前の標準的な慣行です。

10月20日に CVE-2026-113380 が公開されたことで、全容が明らかになりました。この致命的(CVSS 9.3)な脆弱性は、通話終了の欠陥の深刻さを裏付け、サイレントロールアウトの妥当性を証明しました。RingRTC 2.72.0以降のSignalビルドには修正が含まれており、キューのフラッドによって終了イベントがブロックされることを防いでいます。ライブラリの詳細については、GitHubの signalapp/ringrtc Repository を参照してください。

ユーザーは、通話終了ボタンを押した際に確実に通話が切断されるよう、Android、iPhone、デスクトップなどすべてのプラットフォームで直ちにSignalをアップデートする必要があります。実際に悪用された証拠はなく、影響を受けたのは通話中の参加者のみでしたが、今回のインシデントはリアルタイム通信における共通の課題を浮き彫りにしました。つまり、信頼性の高い通話終了機能を構築することは、見た目以上に困難なのです。FaceTimeやGoogle Duoも同様の問題に直面したことがあります。

この記事が気に入ったら、毎朝同じようなものをメールで受け取れます。

1日1通 · 2クリックで解除 · サードパーティのトラッキングなし

通話において最も難しいのは、通話を終了することかもしれません。

今回のRingRTCの事例は、通話の終了というプロセスが驚くほど複雑で、セキュリティ上極めて重要な状態遷移であることを改めて認識させます。これは、過去に通信アプリがゴール直前、あるいは開始前でさえもつまずいたインシデントを彷彿とさせます。2019年には、AppleのFaceTimeに重大な欠陥が見つかり、相手が応答する前にデバイスの音声が傍受される事態が発生しました。これにより、Appleは問題が解決されるまでGroup FaceTimeの機能を無効化せざるを得ませんでした。

同じ年、GoogleのProject Zeroは、Signal for Android、Google Duo、Facebook Messengerにおいて通話接続の脆弱性を特定しました。これらの初期のバグでは、発信者が強制的に接続を確立することが可能でした。しかし、今回のRingRTCの欠陥はそれとは異なる問題であり、通話終了ボタンという決定的なキルスイッチが、混雑したイベントキューによって無効化されてしまう「ティアダウン(切断)失敗」という事象でした。

ここから得られるエンジニアリングの教訓は明らかです。リアルタイム通信プロトコルにおいて、セットアップとシャットダウンは非常に脆弱なフェーズです。リモートのピアは予測不可能なタイミングでイベントを生成する可能性があり、これらのイベントが重要なセキュリティ機能を妨害することは許されません。開発者は「通話終了機能」を保護された優先度の高いキルスイッチとして扱う必要があります。ユーザー側も、通話終了後にモバイルデバイスのマイクやカメラのインジケーターを確認し、会話が確実に終了したことを確認する習慣を身につけるべきです。

よくある質問

Signalの通話脆弱性とは何ですか?

RingRTCの欠陥により、通話中の相手がイベントキューを溢れさせ、ユーザーの通話終了操作が完全に通話を切断することを妨げる可能性がありました。

見知らぬ人がSignalの通話バグを使って盗聴することはできますか?

いいえ。この欠陥を悪用するには攻撃者がすでに通話に参加している必要があり、無関係の第三者が盗聴できるものではありませんでした。

Signalのメッセージや暗号化に影響はありましたか?

いいえ。報告された問題は通話の切断とメディアストリームに関するものであり、Signalのメッセージ暗号化、アカウント、データベースには影響ありません。

Signalユーザーはどうすれば身を守れますか?

すべてのデバイスでSignalを最新バージョンにアップデートしてください。モバイル端末では、通話終了後にマイクとカメラのプライバシーインジケーターを確認するようにしてください。

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$199 · AI tools & software only

ビルダーの方へ

このページは、他社のツールのために働いています。

AIエージェントが読み、購入検討層がたどり着きます。8言語とMCP経由で答えます。あなたのツールにも同じページを — 24時間以内に公開。