Bitcoin Core 31.0 含隱私漏洞,惡意節點可強制觸發 IP 洩露

BTC2.47%

Bitcoin Core隱私漏洞

Bitcoin Core 開發團隊於 6 月 12 日在 X 發文,確認 Bitcoin Core 31.0 版本新引入的 -privatebroadcast 功能存在隱私漏洞:在特定網路條件下,若 v2 握手失敗,將透過 IPv4 或 IPv6 連接對等節點,從而向接收方洩露發送者的明網 IP 地址。

受影響的用戶條件:五項必須同時成立

根據 Bitcoin Core 官方公告,以下五項條件全部成立時,節點才會受到此漏洞影響:

· 節點運行的是 Bitcoin Core 31.0,且已啟用 -privatebroadcast 功能

· 交易透過 RPC 指令 sendrawtransaction 廣播(錢包 RPC 如 sendtoaddress、sendall 等不使用私有廣播,不受影響)

Tor 可建立出站連線

· 可直接建立出站 IPv4 或 IPv6 連線(無 -onlynet 限制,且無 -proxy=... 配置)

· BIP324 v2 傳輸未被禁用(未設置 -v2transport=0)

連線至 onion 及 I2P 對等節點的連線不受影響,因為在任何 v1 重試中,這些連線始終透過各自的代理路由。

漏洞技術機制:v2 握手失敗後 v1 重試未走 Tor

根據官方說明,漏洞的觸發機制:當私有廣播選擇支援 v2(BIP324)傳輸的 IPv4 或 IPv6 對等節點時,初始連線如預期透過 Tor 代理路由。若 v2 握手失敗,Bitcoin Core 會嘗試以 v1 協議重試,此 v1 重試不透過 Tor 代理路由,而是直接透過 IPv4 或 IPv6 連接,從而洩露發起者的 IP 地址。

此行為違反了 31.0 版本說明中的隱私保證:「接收者永遠不會知道他們的 IP 位址(以及地理位置)」。開發團隊確認,此漏洞最有可能由惡意對等節點故意關閉 v2 握手、以強制觸發 v1 重試的方式人為觸發。

三種臨時解決方案:升級至 31.1 前可採用

Bitcoin Core 官方提供以下三種臨時解決方案:

方案一(推薦):直接禁用 -privatebroadcast 設定 -privatebroadcast=0

方案二:禁用 v2 傳輸 設定 -v2transport=0。注意:此設定將導致節點所有連線均使用未加密的 v1 協議,在明網上更容易被指紋識別及遭受審查。

方案三:將 IPv4/IPv6 出站流量路由至 Tor 設定 -proxy=127.0.0.1:9050(按實際 Tor SOCKS 端口替換)。注意:此設定將使節點更容易受到女巫攻擊(Sybil Attack)。

常見問題

使用 sendtoaddress 或 sendall 等錢包 RPC 的節點是否受影響?

根據 Bitcoin Core 官方公告,錢包 RPC(如 sendtoaddress、sendall 等)不使用私有廣播功能,因此不受此漏洞影響。此漏洞僅在透過 sendrawtransaction 進行廣播且滿足其餘四項條件時才會觸發。

此漏洞是否會在不需要惡意節點的情況下自然發生?

根據官方說明,對於實際支援 v2 傳輸的對等節點,v2 握手正常情況下不太可能失敗。此漏洞最有可能由惡意對等節點故意關閉 v2 握手以強制 v1 重試而被人為觸發。

Bitcoin Core 31.1 的發布時間表是什麼?

根據 Bitcoin Core 官方公告,修復方案將隨 31.1 版本發布,但公告未提供具體發布日期。官方建議在升級至 31.1 之前,採用上述三種臨時解決方案之一。

免責聲明:本頁面資訊可能來自第三方來源,僅供參考,不代表 Gate 的立場或觀點,亦不構成任何財務、投資或法律建議。虛擬資產交易具有高風險,請勿僅依賴本頁資訊作出決策。詳情請參閱 免責聲明
回覆
0/400
暫無回覆