区块链底层网络请求处理不当存在拒绝服务漏洞(CNVD-2020-30134)
CVE编号
N/A利用情况
暂无补丁情况
N/A披露时间
2020-05-06漏洞描述
Go语言io/ioutil包提供了ReadAll()函数用于读取并存储数据,该函数在读取数据的过程中会不断的申请新的内存空间直到将请求的数据存储完为止,经测试发现,有不少使用go语言开发的公链在处理用户通过RPC发送过来的请求数据包时会优先使用ReadAll()函数来读取并存储请求数据包数据,而在读取与存储之前并未对数据包的大小做限制,如果构造一个非常非常大的请求数据包让ReadAll()来处理,则在这个处理过程中会因为不断的申请内存空间最终发生OOM。解决建议
目前厂商暂未发布修复措施解决此安全问题,建议公联开发者修改底层架构,对请求数据包的大小做限制,防止攻击者恶意构造超大的数据包,而在网络层(json请求数据包处理这一阶段)就轻松导致OOM而使得节点奔溃。
参考链接 |
|
---|---|
https://www.cnvd.org.cn/flaw/show/CNVD-2020-30134 |
- 攻击路径 网络
- 攻击复杂度 低
- 权限要求 无
- 影响范围 N/A
- 用户交互 N/A
- 可用性 完全地
- 保密性 无
- 完整性 部分地
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论