以太坊客戶端修補漏洞 防止ETH獎勵遭轉走
印度證書公司 eMudhra 的加密隨機數缺陷已波及以太坊,可能讓攻擊者悄悄把部分驗證者的區塊獎勵轉到自己名下。
許多驗證者用以運行以太坊權益證明部分的軟件 Teku,於週二發布 26.10.3 版;處理以太坊交易的 Besu 於週一發布 26.10.2 版。兩個更新都停止在其 Docker 映像中信任與印度證書頒發機構 eMudhra 相關的證書;Docker 映像是許多營運者使用的預載版本。
驗證者是質押 ETH 以維護以太坊安全、並透過提出區塊賺取手續費的電腦。部分驗證者經互聯網與其他服務通訊,依靠數碼證書確認對方身份。
10月17日,研究人員發現 eMudhra 八個中級證書頒發機構背後的私鑰在生成時隨機性不足,可從公開證書本身推算出來。持有這些私鑰的人可簽發證書,讓未修補軟件信以為真。瀏覽器封鎖相關證書,eMudhra 翌日撤銷,該公司其後表示將退出證書業務。
Teku 和 Besu 所用的 Java 程式語言,預設不檢查證書是否已被撤銷。即使瀏覽器已不再信任問題證書,Teku 的 Docker 映像仍繼續信任。攻擊者可介入驗證者與其連接服務之間,冒充該服務。
Teku 在安全公告表示,受騙的驗證者可能提出一個區塊,把手續費支付到攻擊者地址。冒充外部簽署器——即獨立保管驗證者密鑰的服務——則可交出用於更改獎勵去向的簽名;Teku 將此列為最高風險設定。
Teku 團隊稱:「主網上預設設定的 Teku 節點不受影響,無需採取行動」,並補充「未接獲被利用報告」。Teku 的安全合作夥伴 Consensys Diligence 最初發現問題。
不使用 Docker、直接在機器上運行 Teku 或 Besu 的營運者,必須自行更新 Java,因為更新以太坊軟件不會改動 Java 的受信任證書清單。新 Docker 映像也不會修復主機上安裝的 Java。仍使用 Java 26 的營運者則有較麻煩的修復:Teku 稱該版本已終止支援,不會提供修補版本,相關營運者需轉用 Java 25。