在 miniupnpc
中发现了一个缓冲区溢出漏洞,导致了大量数据泄露。结合当时新披露的 CVE-2015-6031,它导致了 miniupnpc
中的远程代码执行,这可能导致比特币核心中的远程代码执行。此问题已在 2016 年 2 月发布的 比特币核心 0.12 中修复。
此问题被认为是 **中等** 严重性。
详情
2015 年 9 月披露的 CVE-2015-6031 使恶意 UPnP 服务器能够在本地网络上启动时远程崩溃比特币核心进程。有关详细信息,请参阅 此处。修复程序已 合并到比特币核心 中,并在 2015 年 10 月发布的 0.11.1 版本 中发布。然后 默认情况下关闭了 UPnP。
CVE-2015-6031 披露了一个缓冲区溢出漏洞,除了导致远程崩溃之外,它还可能使得远程在受害者机器上执行代码。在调查这种可能性时,Wladimir J. Van Der Laan 在 miniupnpc
中发现了另一个缓冲区溢出漏洞,该漏洞导致了大量数据泄露。Wladimir 在提交 4c90b87ce3d2517097880279e8c3daa7731100e6
中 修复了 miniupnpc
中的此问题。然后,该修复程序已 合并到比特币核心 中,并作为 0.12 版本的一部分发布。
此数据泄露不会直接泄露秘密信息(例如钱包的私钥)。但是,结合另一个堆栈溢出(例如 CVE-2015-6031 中披露的溢出),它使得触发远程代码执行成为可能。Wladimir 对 Ubuntu 的 miniupnpc
版本 1.6-precise
演示了这一点。但是,此漏洞利用中使用的特定方法不能直接移植到比特币核心。
归属
感谢 Aleksandar Nikolic 识别 CVE-2015-0035,并感谢 Wladimir J. Van Der Laan 调查其影响并发现第二个缓冲区溢出漏洞。
时间线
- 2015-09-15 CVE-2015-0035 已 修复 并 披露。
- 2015-10-09 PR #6789 合并到比特币核心
- 2015-10-14 Wladimir 利用第二个缓冲区溢出漏洞进行远程代码执行的情况被披露给 Ubuntu 安全团队和比特币开发者。
- 2015-10-15 比特币核心 0.11.1 发布
- 2015-10-26 第二个缓冲区溢出漏洞的修复程序 已合并 到
miniupnpc
中。 - 2015-12-18 该修复程序已 合并到比特币核心 中。
- 2016-02-23 比特币核心 0.12 版本 发布。
- 2017-03-08 最后一个易受攻击的比特币核心版本 (0.11.x) 达到生命周期结束
- 2024-07-03 公开披露