#38275 [BC-Low] Evil-client P2P headers-traversal leads to D/DoS and total peer removal
Submitted on Dec 29th 2024 at 22:38:42 UTC by @`redacted user` for Attackathon | Ethereum Protocol
Report ID: #38275
Report Type: Blockchain/DLT
Report severity: Low
Target: https://github.com/hyperledger/besu
Impacts:
Shutdown of greater than or equal to 10% or equal to but less than 33% of network processing nodes without brute force actions, but does not shut down the network
Unintended chain split affecting less than 25% of the network (Network partition)
Shutdown of less than 10% of network processing nodes without brute force actions, but does not shut down the network
Description
Intro
A remote P2P vulnerability has been identified in the Besu 24.12.2 (latest) with impact that is identical to that of a sustained D/DoS attack.
Vulnerability Details
Using a multithreaded golang based evil-client that spoofs itself as a valid client and peers into a Besu node and starts spamming it with block header range protocol message requests, the remote machine running Besu's CPU runs to 97% - 100% - and all of its peers are remotely disconnected; (attached PoC screenshot) for as long as the attack is sustained. Fortunately the node does recover - but a botnet doesn't care about that. As a former prolific spammer, it's a pinky-lift for a lot of people, chiefly in Russia, to weaponize xxx,xxx zombies to launch an attack like this; and so the real-world viability is markedly there.
Steps to reproduce (Ubuntu)
patiently - and watch it remotely disconnect the victim node from the (Sepolia) network by removing all of its peers. This is naturally a consequence of resource exhaustion and the node being rendered unable to process peer comms.
Impact Details
Island networks. 16% of the Ethereum network being simultaneously disabled by a botnet would have significant consequences. We'd see netsplits, slower finality, transactions flying into the void and high reputational/operational damage.
Proof of Concept
For Proof of Concepts we are linking to the relevant exploit code and providing 2 screenshots - of during and after the sustained attack.
Attack script (headers_traversal.go
):
https://www.dropbox.com/scl/fi/mlis0t7cvl9m4weuwcqv8/headers_traversal.go?rlkey=5v5i2el1hzfc4tj26ibfwatb1&st=koknxe9h&dl=0
Dropbox Password: alienbrain
Last updated
Was this helpful?