披露一個日誌填充錯誤的細節,該錯誤允許攻擊者透過重複傳送無效區塊來導致受害者節點填滿其磁碟空間。此錯誤的可利用性有限,因為需要很長時間才能導致受害者耗盡磁碟空間。修復程式於 2025 年 10 月 10 日在 Bitcoin Core v30.0 中發布。
此問題被認為是低嚴重性。
細節
節點在接收到未通過基本完整性檢查的區塊時,或在接收到從最後一個檢查點之前分叉的區塊時,會無條件記錄。透過重複向受害者節點傳送這樣的無效區塊,攻擊者可以導致受害者耗盡磁碟空間。
此問題透過在整個系統中實作日誌速率限制來修復,也防止未來發生相同類型的問題。
歸屬
Niklas Goegge 發現此錯誤並負責任地披露它。Eugene Siegel 獨立重新發現此錯誤並負責任地披露它。
Eugene Siegel 和 Niklas Goegge 致力於修復所有類型的日誌填充攻擊。
也感謝貢獻者「practicalswift」,他之前提出了對 Bitcoin Core 中磁碟填充向量的擔憂並致力於解決它們。
時間表
- 2022-05-16 - Niklas Goegge 向 Bitcoin Core 安全郵件列表報告此問題
- 2025-03-13 - Eugene Siegel 向 Bitcoin Core 安全郵件列表報告此問題
- 2025-04-24 - Eugene Siegel 向安全郵件列表報告他對最壞情況磁碟填充速率的研究
- 2025-05-23 - Eugene Siegel 開啟 PR #32604 以引入日誌速率限制,基於 Niklas Goegge 的早期工作
- 2025-07-09 - PR #32604 合併到 master
- 2025-09-04 - 版本 29.1 發布,包含修復程式
- 2025-10-10 - 版本 30.0 發布,包含修復程式
- 2025-10-24 - 公開披露
