Bitcoin-Qt 在打开 BIP72 URI 时可能会崩溃。
此问题被认为是中等严重性。
详情
BIP72 使用 r
参数扩展了 BIP21 URI 方案,以从中获取支付请求。攻击者只需将 r
参数中包含的 URL 指向一个非常大的文件,Bitcoin-Qt 就会尝试为此分配足够的内存并崩溃。
受害者可能会被诱骗打开一个恶意支付请求。大型下载将在后台进行,在应用程序耗尽内存之前,GUI 中几乎不会有任何输出。
归属
感谢 Michael Ford (Fanquake) 负责任地披露了此问题并提供了 PoC。
时间轴
- 2019-08-12 Michael Ford 向 Cory Fields 和 Wladimir Van Der Laan 报告了此错误
- 2019-10-16 Michael Ford 开启 PR #17165 以完全去除 BIP70 支持
- 2019-10-26 Michael 的 PR 合并到 Bitcoin Core 中
- 2020-06-03 发布 Bitcoin Core 0.20.0 版本
- 2021-09-13 最后一个易受攻击的 Bitcoin Core 版本 (0.19.x) 结束生命周期
- 2024-07-03 公开披露