Repeating Version Negotiation #143
Labels
-transport
design
An issue that affects the design of the protocol; resolution requires consensus.
has-consensus
An issue that the Chairs have determined has consensus, by canvassing the mailing list.
Milestone
Servers shouldn't need to send more than one version negotiation packet, they only resend so that they are stateless and to deal with packet loss on the return path.
Clients should ignore version negotiation packets if they already have received packets from the server.
This requirement on the client could be used for denial of service in the case where the legitimate server needs to use version negotiation. If an attacker can race a legitimate looking ServerHello at the client (which isn't impossible), then the client will ignore the real server's attempt at version negotiation. This is hard for an off-path attacker due to the need to echo certain parts of the client initial packet. (I'd say connection ID is enough, but that might run afoul of #119.)
The text was updated successfully, but these errors were encountered: