Back to top
  • 공유 分享
  • 인쇄 列印
  • 글자크기 字體大小
已複製網址

Core Lightning舊版節點遭惡意公告反覆當機,升級後仍須檢查舊資料

已關閉電源的小型節點與連接的儲存裝置 / TokenPost.ai (mono)

Core Lightning 舊版節點若儲存了遭竄改的通道公告,即使套用安全修補,仍可能在每次重新啟動時當機。阻擋新公告的修正,與清除磁碟上已留存的紀錄,是兩項不同措施。

尼尚特·班薩爾(Nishant Bansal)在 10 月 24 日公開的技術分析中指出,受影響版本範圍從 v25.02 到 v26.04。他建議升級至 Core Lightning v26.04.1 或更新版本。

Core Lightning 是用來運行比特幣(BTC)第二層支付網路「閃電網路」的軟體。節點透過通道公告訊息交換公開支付通道資訊,並據此判斷支付路徑。

正常的通道公告必須在通道兩端填入不同的節點識別碼。班薩爾表示,若公告兩端填入相同且未註冊的節點識別碼,仍可能通過簽章檢查。

Core Lightning 會先將公告寫入磁碟上的「gossip_store」,再把資訊更新到記憶體中的路徑資料。若系統因此嘗試重複加入同一節點並發生錯誤,處理資訊的 gossipd 程序就會停止,整個節點也可能關閉。

問題公告在節點重新啟動後仍留在磁碟上。節點重新讀取紀錄時,可能再次觸發相同錯誤;在移除已儲存的公告前,節點可能難以恢復正常運作。

攻擊者可以建立一筆由自己控制兩把簽章金鑰的資金輸出,等該輸出累積 6 個區塊後,再送出遭竄改的公告。受影響版本會接受附有有效簽章的公告。

班薩爾指出,攻擊成本可能只需支付鏈上交易手續費。收到公告的節點會在每次重新啟動時重新讀取已儲存紀錄,因此故障可能持續發生。

Core Lightning 開發團隊於 4 月 24 日合併了拒絕錯誤通道公告的修正案PR #9082,並在隔天發布的v26.04.1中納入修正。

修正版會在儲存前拒絕節點識別碼順序不正確的公告;兩端使用相同識別碼的公告也會被這項檢查擋下。

不過,修正版不會自動刪除先前已儲存的公告。曾遭遇故障的節點除了升級,也需要另外檢查儲存紀錄;班薩爾在公開分析中沒有提供具體的刪除指令。

若只刪除儲存紀錄,卻繼續使用有漏洞的版本,相同問題仍可能再次發生。只要攻擊者讓該筆資金輸出維持未使用狀態,就能再次送出遭竄改的公告。

直接受到影響的是個別閃電網路節點離線,並非整個比特幣區塊鏈停止運作。班薩爾警告,節點停擺期間,若對手方將已撤銷的通道狀態提交至區塊鏈,或節點錯過有期限的 HTLC(雜湊時間鎖定合約)請求,通道資金就可能面臨風險。

閃電網路通道公告規格 BOLT 7 也在 5 月 4 日透過修正,要求接收端節點檢查識別碼順序。這項調整將原本只適用於發送端的規則,也明確納入接收端。

截至 11 月 3 日查詢,Core Lightning 最新發布版本為 v26.06.9,開發團隊於 10 月 7 日發布該版本。本報曾報導,該版本修正訊息延遲及通道關閉期間的 HTLC 處理錯誤。此次反覆當機問題已在 v26.04.1 修正,但各節點是否已移除舊公告,仍須個別確認。

<版權所有 ⓒ TokenPost,未經授權禁止轉載與散佈>

最受歡迎

其他相關文章

留言 0

留言小技巧

好文章。 希望有後續報導。 分析得很棒。

0/1000

留言小技巧

好文章。 希望有後續報導。 分析得很棒。
1