按了掛斷還在被聽:Signal 通話庫 CVE-2026-113380,惡意來電者可讓麥克風不斷線
Signal 通話底層的 RingRTC 函式庫爆出重大漏洞 CVE-2026-113380(CVSS 9.3):掛斷請求只是事件佇列裡的普通一員,惡意通話對象灌爆佇列就能讓你的麥克風、甚至鏡頭,在你以為掛斷後繼續傳送。修正版 2.72.0 早在 9 月釋出,漏洞細節 10 月 20 日才公開。
你以為掛斷了電話,對方可能還在聽。Signal 通話功能底層的開源函式庫 RingRTC(基於 WebRTC,供 Android、iOS 與桌面版 App 使用)被揭露出一個嚴重漏洞 CVE-2026-113380,CVSS v4.0 評分 9.3。惡意的通話對象可以干擾通話終止流程,讓受害者的麥克風——甚至可能鏡頭——在使用者以為通話已結束後,繼續把聲音傳給對方。
掛斷不是開關,只是一張排隊的號碼牌
問題出在 RingRTC 管理通話狀態的有限狀態機(FSM)事件佇列。每一通電話的狀態都靠這個佇列驅動,而研究員的技術報告點出三個致命設計:
- 掛斷不是 kill switch:本地掛斷只是被丟進佇列尾端的又一個事件;
- 對方發來的事件沒有限速:遠端參與者可以無限制地往佇列灌事件;
- 掛斷沒有優先權:它得乖乖排在攻擊者製造的雜訊後面。
結果就是:你按下掛斷,系統還在忙著處理對方灌進來的垃圾事件,你的掛斷請求永遠輪不到被執行。麥克風(可能還有鏡頭)的音軌就這樣繼續開著,把你不打算分享的聲音——一句脫口而出的話、旁邊的對話、背景音——送到惡意對象手上。
先說清楚邊界:這不是加密被破解,傳輸中的內容保護完好;問題純粹在通話「結束」這個動作的實作。而且攻擊者必須是通話中的一員,被動竊聽的人用不了這招。
修復早已釋出,細節現在才公開
漏洞在 RingRTC 2.72.0 修掉,該版本早在 9 月 4 日就發布;但技術細節與概念驗證是 10 月 20 日才由研究員公開,NVD 同日收錄(CWE-754:異常狀況檢查不當)。修正方式是讓終止請求不再卡在 FSM 事件佇列裡等排隊、改為獨立偵測,並加上 5 秒的等待上限,避免事件處理失敗時無限期擋住掛斷。
截至目前沒有在野利用的通報,CVE 也還沒進 CISA 的已知被利用漏洞清單。但 Signal 沒有明說哪些 App 版本已包含修復,最保險的做法就是:現在就把每支手機、每台連動桌機的 Signal 更新到最新版。更新前,掛斷後多看一眼通話指示燈,確認通話真的結束了。
這個案例給所有做即時通訊的人上了一課:結束通話應該是立即生效的控制動作,而不是「等對方配合」的請求。
資料來源
- SecurityWeek〈Signal Vulnerability Lets Malicious Callers Block Hang-Ups〉(2026 年 10 月 23 日)
- MalwareBytes(2026 年 10 月 22 日)