Bitcoin
Bitcoin Core修复两项内存漏洞:Linux仅不受其中一项影响
10月28日发布的两份安全公告描述了可能导致比特币节点停止运行的风险。29.5、30.4、31.2和32.1版本已提供修复,不同系统和连接面临的机制并不相同。
陈伟编辑笔名
Windows、macOS和BSD面临快速攻击
Bitcoin Core于2026年10月28日公开两项漏洞,恶意对等节点可以利用它们提高目标节点的内存消耗。两份公告均将问题列为中等严重性,并认为容易发现。公告给出的修复版本相同:29.5、30.4、31.2和32.1。但关键区别在于哪些机器受到影响,以及内存耗尽如何发生。仅看到Windows或macOS的名称,不足以判断两项问题的完整范围,也不能据此认定所有其他系统都安全。
第一项漏洞涉及TCP连接中的紧急数据。在Linux以外的平台上,监控连接的机制可能在某个对等节点的数据读取已经暂停后,仍然触发读取。正常情况下,处理不过来的消息应受队列上限约束,但该行为让恶意对等节点绕过限制,使内存消耗无界增长。公告指出Windows、macOS和BSD属于受影响系统。Linux使用不同机制,因此不受这项特定漏洞影响;这一结论不自动适用于另一份公告。
缓慢积累的问题也涉及Linux
第二份公告描述,部分已暂停发送的对等节点仍会持续积累交易公告。通常,节点会断开不回应存活检查的对等连接,但对于声称不支持BIP 31所引入检查消息的对等节点,该断开保护没有启用。攻击者可以策略性地延迟读取消息,让待发送队列不断扩大。它不是第一项TCP紧急数据漏洞的另一种操作系统表现,而是单独的消息积累问题。
Bitcoin Core称,每条受影响的入站连接,内存增长最高可达每小时2兆字节;每条受影响的出站连接,最高为每小时5兆字节。这是公告描述的增长水平,并非一次公开攻击造成损失的实测报告。只转发区块的节点受影响小得多,因为交易公告构成队列中的大部分内容。与第一项问题不同,这份公告并没有把Linux系统排除在影响范围之外。
核对实际运行的修复版本
两项问题均由Spiral的Elias Rohrer所开展的Project Loupe项目,通过使用语言模型的自动扫描发现。Gregory Sanders验证了结果,并将其转交Bitcoin Core安全团队。缓慢积累的问题也由L0rinc独立重新发现。公告区分了自动发现、人工验证、修复代码合入和公开披露等阶段。这些过程不等同于已经证实有人在实际网络中利用漏洞,也不能直接推断发生了资产损失。
31.2和32.1版本于10月27日发布,29.5和30.4版本随后于当月28日发布。对运营者而言,应核对每个节点实际运行的软件,包括备用安装。公告讨论的是服务可用性风险,并未宣布私钥被盗或比特币丢失。不过,节点停止运行仍可能中断依赖其数据的应用。因此,更新是否完成需要落实到具体机器与安装,而不是只看下载文件是否存在,或仅凭操作系统名称作判断。