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 公开披露