py-libp2p Patch Forces Attackers to Need Ten IP Subnets Instead of One

A security researcher identified and addressed an eclipse attack vulnerability in py-libp2p's Kademlia distributed hash table implementation. Before the fix, an attacker could flood an entire 20-slot routing bucket using nodes from a single rented /24 IP subnet, capturing 100% of a node's lookups without forging any cryptographic records. The attack works by controlling which peers populate a victim's routing table, allowing the attacker to withhold or manipulate DHT responses using perfectly valid signed records. Pull request #1399 introduced a subnet diversity rule capping admissions at two peers per /24 subnet, reducing single-subnet bucket capture from 100% to just 10%. As a result, fully eclipsing a 20-slot bucket now requires nodes spread across at least ten distinct subnets, significantly raising the cost and complexity of the attack.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in