漏洞描述
漏洞URL: https://github.com/unitusdev/unitus
简要描述:
Unitus公链在CoinMarketCap中排名1340
存在漏洞代码片段如下:
在validation.cpp文件中没检查重复输入,可导致产生拒绝访问漏洞以及矿工可控制的双重支出漏洞。
具体可参考:https://bitcoincore.org/en/2018/09/20/notice/
该漏洞是由于项目引用了bitcoin core存在漏洞的代码,导致也存在CVE-2018-17144漏洞,该漏洞的危害在上方链接中有详细说明。
Pigeoncoin也同样存在该漏洞(CVE-2018-17144),并已经被黑客攻击造成了实际危害。
https://bcsec.org/index/detail/tag/1/id/302
漏洞证明:
https://bcsec.org/index/detail/tag/1/id/302
漏洞利用代码:
关于双花攻击和拒绝服务攻击的PoC在这里可以看:https://bcsec.org/index/detail/tag/2/id/379
修复方案:
把
if (!CheckTransaction(*tx, state, false))
改为
if (!CheckTransaction(*tx, state, true))