CVE-2023-7346Ledger Bitcoin应用版本2.1.0和2.1.1存在地址推导漏洞。该漏洞源于对包含`a:`片段的miniscript策略处理不当。攻击者可利用此漏洞制作恶意策略,导致设备推导并显示错误的比特币接收地址。这可能导致用户将资金发送到非预期的地址,造成资产损失。虽然攻击向量为物理,且需要用户交互,但由于涉及资金安全,其完整性影响为高。
该漏洞的核心在于Ledger Bitcoin应用在处理Miniscript策略时的逻辑缺陷。Miniscript是一种用于描述比特币支出条件的语言。当应用处理包含特定片段(如`a:`)的策略时,未能正确验证或解析该片段,导致地址推导路径发生错误。攻击者需要物理接触设备或诱导用户在设备上确认特定的交易或地址生成过程。攻击者构建一个精心设计的恶意Miniscript策略,该策略在语法上可能合法,但在逻辑上触发了应用的推导错误。当设备尝试基于此策略生成接收地址时,由于代码逻辑错误,屏幕上显示的地址与实际由该策略(或底层脚本哈希)对应的正确地址不一致。这种攻击利用了用户对硬件钱包“所见即所得”的信任。用户看到屏幕上的地址并以为是正确的,但实际资金却被发送到了攻击者控制的地址(或黑洞地址)。由于CVSS向量显示攻击向量为物理(AV:P),攻击者通常需要先诱导用户安装该恶意策略或通过某种方式让设备处理该策略,随后利用用户交互(UI:R)完成欺骗。