Skip to content

Rpc Server: WitnessRules potential DDOS #2950

@cschuchardt88

Description

@cschuchardt88

Summary or problem description
There is a potential problem with rpc server with signer rules. The neo function see below doesn't pass the max depth for json object. This will allow someone to DDOS all Rpc nodes. I will not post the way to do this here.

Condition = WitnessCondition.FromJson((JObject)json["condition"])

https://github.com/neo-project/neo-modules/blob/09c2879958a916e0867fc78c64a04edfabe6935f/src/RpcServer/RpcServer.SmartContract.cs#L166-L182

Do you have any solution you want to propose?
Put a max depth

Where in the software does this update applies to?

  • RPC (HTTP)

Metadata

Metadata

Assignees

Labels

DiscussionInitial issue state - proposed but not yet accepted

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions