IPBUF安全漏洞报告
English
CVE-2023-7346 CVSS 4.0 中危

CVE-2023-7346 Ledger比特币应用地址推导漏洞

披露日期: 2026-05-20

漏洞信息

漏洞编号
CVE-2023-7346
漏洞类型
逻辑错误
CVSS评分
4.0 中危
攻击向量
物理 (AV:P)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Ledger Bitcoin app

相关标签

逻辑错误比特币LedgerMiniscript地址推导硬件钱包

漏洞概述

Ledger Bitcoin应用版本2.1.0和2.1.1存在地址推导漏洞。该漏洞源于对包含`a:`片段的miniscript策略处理不当。攻击者可利用此漏洞制作恶意策略,导致设备推导并显示错误的比特币接收地址。这可能导致用户将资金发送到非预期的地址,造成资产损失。虽然攻击向量为物理,且需要用户交互,但由于涉及资金安全,其完整性影响为高。

技术细节

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

攻击链分析

STEP 1
步骤1
攻击者诱导用户安装特定版本的Ledger Bitcoin应用 (2.1.0或2.1.1)。
STEP 2
步骤2
攻击者准备包含`a:`片段的恶意Miniscript策略。
STEP 3
步骤3
攻击者诱导用户在设备上加载或验证该策略(需物理接触或用户交互)。
STEP 4
步骤4
设备处理策略时触发推导逻辑错误,屏幕显示错误的比特币地址。
STEP 5
步骤5
用户信任显示的地址并转账,导致资金丢失。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Conceptual PoC for demonstrating the vulnerability context # This script checks the version and simulates the logic error scenario # Note: Actual exploitation requires specific miniscript crafting. def check_vulnerability(app_version): # Affected versions are 2.1.0 and 2.1.1 vulnerable_versions = ["2.1.0", "2.1.1"] if app_version in vulnerable_versions: return True return False def simulate_malicious_policy(): # Example of a miniscript policy fragment that might cause issues # The 'a:' fragment handling is the root cause malicious_policy = "a:pk(key)" # Simplified representation print(f"Crafting malicious policy: {malicious_policy}") # In a real scenario, this would be sent to the device return malicious_policy if __name__ == "__main__": version = "2.1.0" if check_vulnerability(version): print(f"Device is vulnerable (Version: {version})") policy = simulate_malicious_policy() print("Attempting to derive address on device...") print("WARNING: Device may display incorrect address!") else: print("Device is not vulnerable.")

影响范围

Ledger Bitcoin app 2.1.0
Ledger Bitcoin app 2.1.1

防御指南

临时缓解措施
建议用户立即检查Ledger Bitcoin应用的版本,如果为2.1.0或2.1.1,请立即升级至修复了该问题的版本。在进行大额转账前,务必在另一个独立的设备或软件上验证生成的比特币地址是否一致,避免仅依赖硬件钱包屏幕显示。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表