Fix potential DoS with responding to responses #247
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
An attacker could send a packet with the source address and port being resolved's, which will make resolved send the response to itself. But resolved responds to an unexpected response by sending a format error response. Which would go back to itself, again, triggering an infinite loop of responses.
Much as it pains me to just drop a perfectly decodable, but invalid, message, this is the best solution since there isn't really a way to reliably tell if an attacker is triggering this case (eg, they could use two instances running on different IPs and bounce responses between them).
Fixes #246