Fatal Error: stack overflow. Nodes crash after recieving byzantine fuzzing message
【问题分类】
- bug 消息处理代码缺乏有效的安全防护机制
【问题描述】
类似于issue 1135 TBFT共识模式下,一个攻击节点持续发送拜占庭攻击消息包时,其它所有的正常节点收到消息后一段时间panic崩溃。
- 启动TBFT共识长安链,10个节点,其中一个为拜占庭攻击节点,会随机变异发送出去的消息包,持续进行模糊测试fuzzing
- 一段时间后所有的正常节点全部宕机,具体报错日志如下图所示:
【相关日志文件】
chainmaker-go 的 log/system.log & bin/panic.log file * 详细日志文件太大,具体参见上传附件 bug.log
【系统信息】
-
**chainmaker-go version * : [v2.3.5]
-
**OS & version * :Linux version 5.15.0-105-generic, 20.04.1-Ubuntu
-
**docker镜像 version:
Client: Docker Engine - Community Version: 27.0.3 API version: 1.46 Go version: go1.21.11
Server: Docker Engine - Community Engine: Version: 27.0.3 API version: 1.46 (minimum version 1.24) Go version: go1.21.11
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information