Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
issue
issue
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 23
    • Issues 23
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

新注册的用户请输入邮箱并保存,随后登录邮箱激活账号。后续可直接使用邮箱登录!

  • chainmaker
  • issueissue
  • Issues
  • #1148

Closed
Open
Opened Aug 13, 2024 by Ghost User@ghost1 of 19 tasks completed1/19 tasks

panic: proto: illegal wireType

【问题分类】

  • bug
  • P2P网络相关(包含libp2p,liquid)
  • 链账户身份与权限相关(证书问题、public、多签投票问题)
  • 核心交易引擎相关(交易池、DAG)
  • 共识相关
  • 智能合约相关
  • 存储相关
  • SDK相关
  • 长安链CMC工具
  • 长安链管理台
  • 长安链浏览器
  • 长安链合约IDE
  • 长安链web签名插件
  • 跨链相关
  • 轻节点相关
  • 隐私计算相关
  • 密码学相关
  • 环境依赖
  • 其他补充:

【问题描述】

类似于Issue 1135,代码没有正确的处理消息攻击包,攻击路径不同

具体的现象,操作步骤

TBFT共识模式下,一个攻击节点发送wireType类型与内容不对应的拜占庭攻击消息包时,其它所有的正常节点收到消息后立马panic崩溃。

【相关日志文件】(如果有报错日志请贴图,或者上传附件)

chainmaker-go 的 log/system.log & bin/panic.log file * image

【问题定位分析】

在consensus_tbft_impl.go,通过msgbus的OnMessage入口传入恶意消息包,随后调用的createConsensusMsgFromTBFTMsgBz函数中没有对消息包做防护性处理,直接调用的mustUnmarshal,随后直接触发panic,导致节点崩溃。

image image

【系统信息】

  • **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
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: chainmaker/issue#1148

Copyright © 2021 ChainMaker Org. All Rights Reserved. 长安链 版权所有。