Attackathon _ Fuel Network 32978 - [Blockchain_DLT - Insight] isolating the node from the networkcau

isolating the node from the network/causing OOM by resource exhaust

Submitted on Mon Jul 08 2024 18:17:42 GMT-0400 (Atlantic Standard Time) by @fnmain for Attackathon | Fuel Network

Report ID: #32978

Report type: Blockchain/DLT

Report severity: Insight

Target: https://github.com/FuelLabs/fuel-core/tree/v0.31.0

Impacts:

  • RPC API crash affecting projects with greater than or equal to 25% of the market capitalization on top of the respective layer

Description

Brief/Intro

establishing connexions without exchanging data with http server is opening an FD and maintain it open even adding limitation to connexion params can result in node isolation OR OOM due the resource exhausting that occur among bypassing all checks/limitations

Vulnerability Details

  • by creating a connexion to the node without exchanging any data the node remain the connexion open without killing it which is using some resources and the node do not interrupt the connexion based on limtations set as max connexions and connexion timeout so by creating huge amount of connexions to the target node the attacker can isolate it from the network where it establish any other connexion by fd limit , or if the limit was to big the node will crash due OOM since the resource exhausting

  • secondly by doing the same steps but sending 1KB to the target node of trash data with spamming cnxs it can result OOM ( and technically for default node body msg is 1MB the rate limit setting for cloudflare is 999 cnxs/per host so every ip can exhaust 1GB of storage which means it can also be applicable also for nodes behind webFirewal such as cloudflare )

Impact Details

isolation the node from the network, OOM crash, DoS

References

Add any relevant links to documentation or code

Proof of concept

Proof of Concept

  • note command used to start the node :

exploit_script (tested on v0.31.0 local node) result in OOM:

executing the exploit :


there is a more customized exploit with doc that can be used either for fd resource exhaust or OOM :

Last updated

Was this helpful?