You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following poll function processes events from Kademlia DHT and mdns in an unfair way. It is possible that events by mdns might not get polled if Kademlia always returns a Poll:Ready(...) result. An attacker might be able to exploit this behavior and block mdns from working correctly by causing Kademlia DHT to always yield a result when polled.
Figure 20.1: Function which polls events from the Kademlia extension and mdns. (fuel-core/crates/services/p2p/src/discovery.rs#160–262)
An attacker constantly causes a NetworkBehaviourAction::Dial event to be available. This way the mdns might not get its events processed.
Recommendations
Short term, for every invocation of the poll function, switch between first polling Kademlia and mdns.
Long term, deploy metrics which watch poll queues. If an event queue is not polled regularly, then this could cause a situation like a deadlock.
The text was updated successfully, but these errors were encountered:
Description
The following poll function processes events from Kademlia DHT and mdns in an unfair way. It is possible that events by mdns might not get polled if Kademlia always returns a Poll:Ready(...) result. An attacker might be able to exploit this behavior and block mdns from working correctly by causing Kademlia DHT to always yield a result when polled.
Figure 20.1: Function which polls events from the Kademlia extension and mdns. (fuel-core/crates/services/p2p/src/discovery.rs#160–262)
Exploit Scenario
An attacker constantly causes a NetworkBehaviourAction::Dial event to be available. This way the mdns might not get its events processed.
Recommendations
Short term, for every invocation of the poll function, switch between first polling Kademlia and mdns.
Long term, deploy metrics which watch poll queues. If an event queue is not polled regularly, then this could cause a situation like a deadlock.
The text was updated successfully, but these errors were encountered: