
至今 Bitcoin Core(比特币 C++ 官方底层客户端)公开记录在案的 CVE 安全漏洞总数在 60 个左右。 按照严重程度和对整个比特币网络的影响,这些漏洞大致可以分为以下三个层级: 1. 致命/灾难级漏洞(共 3 次) 这 3 次漏洞直接威胁到了比特币的账本绝对正确性(如增发货币、双花)或导致整个网络发生非预期的硬分叉: 2010 年 8 月:整数溢出漏洞(CVE-2010-5139) 影响: 攻击者构造了一笔特殊交易,绕过了 C++ 的数值范围检查,凭空凭空刷出了 1,840 亿枚 BTC。 解决: 中本聪与核心开发者在 5 小时内发布修复补丁,并通过硬分叉抹去了这笔异常交易。 2013 年 3 月:数据库版本不兼容导致链分裂(Berkeley DB 限制) 影响: 0.8 版本节点(使用 LevelDB)接受了一个巨大的区块,但 0.7 及更早版本节点(使用 Berkeley DB)因为锁限制拒绝了该区块,导致比特币网络分裂成两条链。 解决: 开发者紧急呼吁矿工切回 0.7 版本,强制作废了新链,成功归一。 2018 年 9 月:重复输入校验漏洞(CVE-2018-17144) 影响: 在重构代码以提高性能时,开发者误删了一段检查交易中是否存在“重复输入”的代码。攻击者可以借此进行**双花攻击(重复花费同一笔比特币)**或导致全网节点崩溃。 解决: 被安全专家提前隐密发现并通报,团队迅速发布 0.16.3 版本静默修复,未被攻击者实际利用。 2. 高/中危漏洞(约 25–30 次) 这类漏洞通常无法篡改账本或盗取比特币,但会导致节点远程崩溃、内存耗尽(OOM)、网络延迟或攻击 SPV 轻钱包: 远程崩溃与内存暴涨(DoS): 如 CVE-2015-3641(恶意节点投递超大 P2P 消息导致 4GB+ 内存占用崩溃)、CVE-2018-17145(INV 消息泛滥)、CVE-2024-52911(脚本解释器远程崩溃)。 网络隔离/分裂隐患: 如 CVE-2012-2459(Merkle 树变异区块缓存拒绝攻击)、CVE-2024-52912(节点时间偏移计算中的溢出缺陷导致网络分裂)。 3. 低危/第三方依赖库漏洞(约 20–30 次) 依赖库缺陷: Bitcoin Core 早期集成的第三方库(如用于自动映射端口的 miniupnpc,CVE-2015-6031)出现的缓冲区溢出或内存泄漏。 本地 RPC / GUI 缺陷: 仅影响本地钱包管理或开启了特定 Debug 选项的节点,攻击者需要本地权限或诱导用户点击特定链接(如 CVE-2024-52918,通过超长 URL 导致 Bitcoin-Qt 崩溃)。
Post summary
The post gives a comprehensive summary of Bitcoin Core CVEs, describing their types, impacts, and available fixes, but there is no indication of active exploitation, PoC code, or exploit tools.
