Skip to content

Conversation

@lucassdiass
Copy link
Contributor

DHT allows the impersonation attack because method getNode updates the node's addr in following case: node A (IP address 1.1.1.1) has InfoHash 8ffe0d18748cfc04d1bc0a2e8c3a548e06f3f794 and sends a Ping to node B (IP address 2.2.2.2), then node B sends neighborhood maintenance to 1.1.1.1. Thus, a malicious node (IP Address 3.3.3.3) discovers the InfoHash 8ffe0d18748cfc04d1bc0a2e8c3a548e06f3f794 from Node A and sends DHT packets to Node B.

Thus, when node B receives a message, it will update the node A address. Then, it will send the neighborhood maintenance to 3.3.3.3 instead 1.1.1.1.
With this change, node A will update the node addr when node B sends a confirmation after 1 minute or it is old. When node B is not old, node A updates the node addr with its actual addr.

DHT allows the impersonation attack because method getNode updates the node's addr in following case:
node A (IP address 1.1.1.1) has InfoHash 8ffe0d18748cfc04d1bc0a2e8c3a548e06f3f794 and sends a Ping to node B (IP address 2.2.2.2),
then node B sends neighborhood maintenance to 1.1.1.1.
Thus, a malicious node (IP Address 3.3.3.3) discovers the InfoHash 8ffe0d18748cfc04d1bc0a2e8c3a548e06f3f794 from Node A
and sends DHT packets to Node B.

Thus, when node B receives a message, it will update the node A address. Then, it will send the neighborhood maintenance to 3.3.3.3
instead 1.1.1.1.
With this change, node A will update the node addr when node B sends a confirmation after 1 minute or it is old.
When node B is not old, node A updates the node addr with its actual addr.

Signed-off-by: Lucas Dias <[email protected]>
@lucassdiass
Copy link
Contributor Author

It will avoid flooding also

@lucassdiass lucassdiass changed the title complicate node spoofing difficult node spoofing Jun 11, 2024
@aberaud aberaud force-pushed the master branch 4 times, most recently from 22c89fb to 122c30c Compare September 6, 2025 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant