币圈界报道:

比特币核心修复高危签名缺陷,强化支付路径完整性

2026年9月25日,Bitcoin Core 完成一项关键安全补丁的合并,旨在阻止对无对应输出的 SIGHASH_SINGLE 输入生成脱离实际收款目标的签名。该措施有效堵住一个长期潜伏的协议层风险,防止恶意操作者在不暴露私钥的前提下实现资金流向篡改。

输入与输出脱钩引发的签名信任危机

SIGHASH_SINGLE 的设计逻辑要求交易输入必须绑定至同索引的输出,以确保签名明确指向特定接收方。然而当目标输出缺失时,该绑定关系即告失效:在旧版交易中,哈希值恒为1;而在 SegWit v0 中,hashOutputs 被设为零。这导致生成的签名实质上未承诺任何具体收款地址。

此类签名即便在输出地址被替换后仍保持有效性,因为其摘要从未包含目的地信息。技术分析指出,在持续存在“缺输出”条件的场景下,攻击者可复用同一密钥控制下的其他未花费交易输出(UTXO)的无效签名,形成潜在的批量重定向攻击链。

非窃密型攻击:利用合法签名执行非法重定向

贡献者 Matias Furszyfer(furszy)在提交说明中强调:“当指定输出不存在时,SIGHASH_SINGLE 实际上不承诺任何输出……这意味着即使收款人被更换,签名依然有效。”这一特性构成典型的‘操作陷阱’,攻击者无需获取私钥即可完成资金转移。

由于签名本身符合格式规范,仅通过密钥使用审计难以识别此类异常行为。结合当前比特币价格逼近85,400美元,即使是小额资金集合也具备显著经济价值,使得该漏洞具备真实威胁性。

核心签名流程重构以杜绝风险源头

PR #35984 将缺失输出检测逻辑整合进 CreateSig 这一通用签名函数。由于 SignTransaction、SignPSBTInput 及未来所有签名路径均调用此接口,因此所有路径均不再产生危险签名。值得注意的是,同一 PSBT 中其他合法输入仍可正常签名,不影响整体交易处理。

此前,SignTransaction 已主动规避该边缘情况,但 SignPSBTInput(进而影响 walletprocesspsbt)仍可能生成无效签名。这种不一致性曾为依赖BIP174标准进行离线或硬件签名的钱包流程埋下隐患,而本次统一检查彻底消除差异。

节点与钱包运营商应建立防御性操作规范

此次修复不会默许错误签名生成,而是直接拒绝签署受影响输入。使用 walletprocesspsbt 的运营方将观察到相关输入被跳过,而非接收到可篡改的授权指令。尽管宏观因素仍影响第四季度市场走势,但钱包层面的安全基线已减少一个隐藏故障模式。

下游系统需主动审查并跟进版本发布

截至2026年10月4日,该补丁仅存在于 Bitcoin Core 开发主干分支。尚未公布正式生产版本发布时间或确认的后移植计划。实施自定义PSBT签名逻辑的第三方钱包及硬件签名设备需独立评估自身是否受此缺陷影响。

目前未分配CVE编号,亦无官方公布的受影响钱包版本清单。用户应在决策前密切追踪 Bitcoin Core 发布公告,确认包含 PR #35984 的具体版本。伴随比特币突破85,000美元大关,链上活跃度上升,及时部署签名安全增强成为托管与非托管钱包管理者的紧迫任务。

机构对比特币和以太坊ETF的持续增持趋势,进一步放大了签名层漏洞在钱包端被滥用的风险,凸显底层安全机制的重要性。

快速要点回顾(TLDR)

Bitcoin Core PR #35984 于2026年9月25日合并,禁止对无匹配输出的 SIGHASH_SINGLE 输入生成签名,杜绝未承诺收款人的无效签名。检查已嵌入 CreateSig,覆盖所有签名路径;其余有效输入不受影响。该修复目前仅在开发分支,尚未进入生产环境,下游实现需自行审查。用户应关注官方发布动态,及时升级至含补丁版本。