Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec non compliance issues on the Ping Packet of Discv4 #5914

Open
mohasdev opened this issue Sep 21, 2023 · 0 comments
Open

Spec non compliance issues on the Ping Packet of Discv4 #5914

mohasdev opened this issue Sep 21, 2023 · 0 comments
Labels
bug Something isn't working peering

Comments

@mohasdev
Copy link

Description

There is 3 issues on the ping packet from discv4 when Besu don't respond to a ping, the issues are spec non compliance issues .

1/ Wrong To field

According to the devp2p specs and hive test, if a node send a ping with a wrong To field in the Ping packet node should respond with a Pong .

If i send a ping packet with the string : @6%!072$..;*>$5>':-6 in the To field , Besu don't respond.

2/ Wrong From field

According to the devp2p specs and hive test, if a node send a ping with a wrong From field in the Ping packet node should respond with a Pong .

If i send a ping packet with the string : .,?%@)2:%-67- in the From field , Besu don't respond.

3/ Extra data

According to the devp2p specs and hive test, if a node send a ping with extra data field in the Ping packet node should respond with a Pong .

If i send a ping packet with two additional fields with contains the string .,?%@)2:%-67- , Besu don't respond.

Steps to Reproduce

You can use the implementation of your choice and send a ping message to a Besu node, or using the devp2p binaries from geth and edit the ping message .

Or you can use D4C, a modified version of geth that send fuzzed message , just clone the repo and use this command (you need to have go in your computer) :
make all

then use the corresponding commands that send a ping message :

./build/bin/devp2p discv4 wrong-to-ping <enode adress> random-fuzzer 1
./build/bin/devp2p discv4 wrong-from-ping <enode adress> random-fuzzer 1
./build/bin/devp2p discv4 extra-data-ping <enode adress> random-fuzzer 1

Expected behavior: [What you expect to happen]
Besu node should respond to the ping .

Actual behavior: [What actually happens]
Besu node don't respond to the ping.

Ressources

The expected behaviors come from :

@macfarla macfarla added TeamRevenant GH issues worked on by Revenant Team peering bug Something isn't working labels Sep 21, 2023
@jflo jflo removed the TeamRevenant GH issues worked on by Revenant Team label Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working peering
Projects
None yet
Development

No branches or pull requests

3 participants