CVE-2025-46598:处理未确认交易引发 CPU DoS
特制的非标准交易每笔可拖住 Bitcoin Core 节点数秒,发送者却不会被断开连接,攻击者得以借此延迟区块传播。低危漏洞 CVE-2025-46598 由 Antoine Poinsot 报告,v30.0 压缩了最坏情况下的验证时间,问题得到缓解。
Bitcoin Core
比特币的参考实现。其网站发布版本公告、安全公告和项目声明。
119 篇文章
特制的非标准交易每笔可拖住 Bitcoin Core 节点数秒,发送者却不会被断开连接,攻击者得以借此延迟区块传播。低危漏洞 CVE-2025-46598 由 Antoine Poinsot 报告,v30.0 压缩了最坏情况下的验证时间,问题得到缓解。
Bitcoin Core
超过 1GB 的区块可能让 32 位 Bitcoin Core 节点的大小检查溢出,写入磁盘时崩溃,但区块必须以致密区块形式传来,受害者还得把 -maxmempool 设到 3GB 以上,交易池里存有 1GB 交易。Pieter Wuille 发现了这个低危漏洞(CVE-2025-46597);29.1 和 30.0 限制了 32 位系统的 -maxmempool,将其关闭。
Bitcoin Core
Bitcoin Core 28.3 下调默认最低费率:-blockmintxfee 降至每 kvB 1 聪,-minrelaytxfee 和 -incrementalrelayfee 降至每 kvB 100 聪。钱包费率不变;新默认值若未在全网普及,低费率交易可能传播不出去。白名单权限也不再适用于洋葱入站连接(#33395)。
Bitcoin Core
FillBlock 在 Bitcoin Core 29.2 中获得两项 P2P 修复:增加见证篡改检查(#32646),调用前检查区块头是否为空(#33296)。链重组时不再强制执行 TRUC 检查(#33504),getblock 和 getblockheader 也不再返回链尖目标值(#33446)。
Bitcoin Core
OP_RETURN 限制到 Bitcoin Core 30.0 基本取消:-datacarriersize 默认值改为 100,000,单笔交易可含多个数据输出,设置 -datacarriersize=83 即可恢复旧上限。默认转发费率降至每 vB 0.1 聪,每笔标准交易的旧式签名操作上限为 2500 次,新增的 bitcoin 命令封装了现有可执行文件。
Bitcoin Core
从 Bitcoin Core 29.1 起,无条件写盘的日志开始限速,每个源码位置每小时最多 1MiB(#32604);标准交易中可能执行的旧式签名操作不得超过 2500 次。默认转发费率降到每 kvB 100 聪,32 位版本的 -maxmempool 上限为 500MB,-dbcache 上限为 1GiB。
Bitcoin Core
Bitcoin Core 28.2 的改动略超半数属于构建工作。Guix 现在会为 macOS 应用包做公证,并为所有 macOS 和 Windows 二进制文件签名(#31407);depends 修复了 NetBSD 上 libevent(#31500)和 cmake 下 freetype(#32693)的编译问题。
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 29.0 移除了 UPnP 支持;-natpmp 改用内置的 PCP 和 NAT-PMP 实现,不再依赖 libnatpmp。新策略 ephemeral dust(临时粉尘)上线,针对区块权重重复预留的修复新增了 -blockreservedweight,节点还会向每个宣告孤儿交易的对等节点索取其缺失的父交易。26.x 及更早版本到达维护终点。
Bitcoin Core
设置 -port 后,Bitcoin Core 28.1 的默认洋葱监听端口改为该端口加一,不再固定为主网 8334,同一台机器上运行多个节点不会再因启动冲突受阻。torrc 里手动写的 HiddenServicePort 可能需要修改。DecodeExtKey 中的秘密数据也会被清除(#31166)。
Bitcoin Core
对等节点宣告新区块后故意拖延,可让 Bitcoin Core 节点干等最多 10 分钟才转向别处,攻击者还能反复使用这一招。中危漏洞 CVE-2024-52922 由 Greg Sanders 报告并修复,v25.1 和 v26.0 已缓解:节点可同时向最多 3 个高带宽致密区块对等节点请求区块。
Bitcoin Core
Bitcoin Core 27.2 消除了自连接检测中的竞态条件(#30394),FillPSBT 调用错误返回 complete=true 的问题也得到纠正(#30357)。加载区块线程和调度器的关闭顺序有所调整(#30435),代码可用 miniupnpc 2.2.8 和 GCC 15 构建。
Bitcoin Core
v25.0 之前的 Bitcoin Core 中,一个对等节点发来的篡改区块,能清掉其他宣告同一区块的对等节点的下载状态,导致节点忘记正在重建的致密区块。问题由 Suhas Daftuar 注意到,#27608 把每个对等节点的影响限制在自身状态内。CVE-2024-52921 属中危。
Bitcoin Core
v25.0 之前的 Bitcoin Core 节点可遭远程攻击而崩溃:针对同一区块重复发送 blocktxn 消息,会触发 FillBlock 只能运行一次的断言。攻击无需短 ID 碰撞,只要包含不在该区块默克尔根内的交易,就能走到同一路径。高危漏洞 CVE-2024-35202 由 Niklas Gögge 发现并修复。
Bitcoin Core
2023 年 5 月初网络活动激增,间谍节点又火上浇油,对超大 inv-to-send 集合排序几乎占满 P2P 线程的时间,拖慢了区块和交易传播。这一中危问题在 Bitcoin Core v25.0 中由 #27610 修复:更快丢弃已离开交易池的交易,集合越大清空越快。
Bitcoin Core
Testnet4(BIP94)登陆 Bitcoin Core 28.0,同时带来面向一父一子交易对的有限包转发、BIP 431 下的标准 TRUC 交易和新的 Pay To Anchor 输出类型。-mempoolfullrbf 默认值改为 1,27.0 已弃用的 libbitcoinconsensus 正式移除。
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
攻击者在局域网内冒充 UPnP 设备,不断向 Bitcoin Core 节点发送臃肿的 M-SEARCH 响应,直到内存耗尽。只有用 -miniupnp 启动的节点才受影响,该库默认关闭。这一低危漏洞已在 v22.0 中修复。
Bitcoin Core