暫停中的 pre-BIP31 對等節點會讓記憶體緩慢無上限增長
惡意對等節點可佯稱不支援 BIP 31 的 ping,避開 20 分鐘斷線機制,再放慢讀取速度,讓節點的傳送佇列持續膨脹:每個入站連線每小時最多 2MB,每個出站連線最多 5MB。這個中度風險漏洞編號 CVE-2026-117349,由 #36667 修補,收錄於 Bitcoin Core 32.1、31.2、30.4 與 29.5;-blocksonly 節點的曝險則小得多。
Bitcoin Core
點對點網路:轉發、傳播、節點與閃電網路層。
14 篇文章
惡意對等節點可佯稱不支援 BIP 31 的 ping,避開 20 分鐘斷線機制,再放慢讀取速度,讓節點的傳送佇列持續膨脹:每個入站連線每小時最多 2MB,每個出站連線最多 5MB。這個中度風險漏洞編號 CVE-2026-117349,由 #36667 修補,收錄於 Bitcoin Core 32.1、31.2、30.4 與 29.5;-blocksonly 節點的曝險則小得多。
Bitcoin Core
攻擊者在多條連線重複使用 version 訊息的 nonce,偽裝成自我連線,就能灌大 Bitcoin Core 節點的記錄檔。由於受害者第一條連線預設 60 秒後逾時,要填滿磁碟得花很久,CVE-2025-54604 因此評為低風險。Niklas Goegge 在 2022 年通報,29.1 與 30.0 的記錄限速已阻擋此攻擊。
Bitcoin Core
31 位 Bitcoin Core 貢獻者聯署公開信,主張只要交易有持續的經濟需求、又能穩定進入區塊,節點軟體就不該拒絕轉發,因為使用者與礦工都能繞過這類過濾。他們強調這並非替非金融資料用途背書,選擇執行哪套軟體與政策的權利也只屬於使用者。
Bitcoin Core
持續數年不間斷的 addr 濫發,可能讓 Bitcoin Core 位址管理器的 32 位元識別碼溢位,造成節點當機;這是 v22.0 以速率限制先行削弱的攻擊所遺留的部分。29.0 改用 64 位元識別碼,終結這個評為低風險的 CVE-2024-52919。漏洞由 Eugene Siegel 發現,Martin Zumsande 完成修改。
Bitcoin Core
對等節點宣告區塊後按兵不動,可能讓 Bitcoin Core 節點空等最多 10 分鐘才向別處索取,攻擊者還能反覆施展。CVE-2024-52922 評為中度風險,由 Greg Sanders 通報並修復;v25.1 與 v26.0 可立即向最多 3 個高頻寬 compact block 對等節點索取區塊,藉此緩解。
Bitcoin Core
2023 年 5 月初網路活動暴增,加上間諜節點推波助瀾,排序過大的 inv-to-send 集合幾乎吃掉 P2P 執行緒所有時間,拖慢區塊與交易傳播。這個中度風險問題在 Bitcoin Core v25.0 由 #27610 修復:已離開記憶池的交易更早剔除,集合變大時也清得更快。
Bitcoin Core
v25.0 之前的 Bitcoin Core,單一對等節點送來的變造區塊,可能清掉其他宣告同一區塊之對等節點的下載狀態,讓節點忘記還在重建中的 compact block。這個問題由 Suhas Daftuar 察覺,#27608 將每個對等節點限定於自己的狀態。CVE-2024-52921 評為中度風險。
Bitcoin Core
低難度區塊標頭鏈可遠端讓 v24.0.1 之前的 Bitcoin Core 節點當機,同一條特製鏈還能重複用來攻擊網路上任何節點。#25717 的修正要求節點先確認鏈上累積足夠工作量才予以儲存,防範已知攻擊也不必再依賴檢查點。嚴重程度:高。
Bitcoin Core
濫發 addr 訊息可能讓 Bitcoin Core 節點當機:addrman 插入 2^32 次後,32 位元 ID 計數器溢位並觸發斷言。Eugene Siegel 於 2021 年通報這個高風險漏洞,v22.0 納入 Pieter Wuille 的修補。
Bitcoin Core
version 訊息處理有兩個漏洞,分別是有號整數溢位與 abs64 邏輯錯誤,攻擊者可藉此扭曲受害者的調整後時間,讓對方認定新區塊時間太過超前而拒收。攻擊者必須是最先連上的 200 個對等節點之一。這個中度風險缺陷已在 Bitcoin Core 0.21.0 修復。
Bitcoin Core
在 0.20.0 之前的 Bitcoin Core,一則格式錯誤的 GETDATA 訊息就能讓 net_processing 執行緒空轉、CPU 飆到 100%,每個攻擊者連線還多吃 1.5 MB 記憶體。其他對等節點仍能獲得服務,所以評為低風險。John Newbery 發現此漏洞,並以 #18808 修復。
Bitcoin Core
一則塞了 50,000 個區塊項目的 INV,可讓節點排入 50,000 個各約 1 kB 的 getheaders 回應,對方只要拒絕讀取,這 50 MB 的傳送緩衝區就一直滿載。John Newbery 的 #18962 改為每則 INV 只送一個 GETHEADERS,當初以節省頻寬為名提出,收錄於 0.20.0。
Bitcoin Core
Tor 使用者現在可透過 onion 位址造訪 Bitcoin Core 網站,這是常有人提出的要求。隱藏服務多提供一條繞過審查的路徑,也多了一條不依賴憑證機構與 DNS 的信任管道。
Bitcoin Core
採用 compact block 轉發(BIP152)的對等節點會交換每個新區塊的摘要(sketch),平均 1MB 的區塊約 9KB,再加上接收方缺少之交易的額外開銷。在實際的高頻寬實驗中,最多預填 6 筆交易時,遠超過 90% 的區塊不需後續請求就完成傳播。
Bitcoin Core