Subject: [quicwg/base-drafts] CONNECTION_CLOSE for unpadded Initial (#3269)

From: Martin Thomson <[email-masked]>
Date: Tue, 19 Nov 2019 18:59:44 -0800

The draft requires that if an Initial packet is not padded, the server sends a CONNECTION_CLOSE.  I think that the goal was to have the server drop those packets and *optionally* send a signal.  But that only applies if the server hasn't established state.  We should reword that.

@nibanks says:
> I'm more worried about this as an attack vector. Now that we support multiple initial packets for the client initial, there is more of a windows for an attacker to race a bad initial packet. Sending a 1 byte initial packet to kill your connection would be pretty easy; especially since the size validation check is going to happen pre-decryption, so the attacker doesn't even need to craft a well-formed packet.

_Originally posted by @nibanks in https://github.com/quicwg/base-drafts/pull/3262_

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3269

---

From: Martin Thomson <[email-masked]>
Date: Tue, 19 Nov 2019 19:01:57 -0800

Note that our principles here mean that we aren't obligated to defend against this style of attack, but rewording here is probably a good idea.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3269#issuecomment-555814959

---

From: Nick Banks <[email-masked]>
Date: Tue, 19 Nov 2019 19:03:36 -0800

I agree that we've decided not to try to protect against attacks in the first flight, but this seems open up an extremely trivial attack vector that we can easily shutdown. I believe we should prevent it.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3269#issuecomment-555815347

---

From: Marten Seemann <[email-masked]>
Date: Tue, 19 Nov 2019 19:05:30 -0800

> The draft requires that if an Initial packet is not padded, the server sends a CONNECTION_CLOSE.

Why would a server want to send a CONNECTION_CLOSE in the first place? I think dropping the packet is a perfectly valid thing to do, and in fact is preferable at such an early state in the connection.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/3269#issuecomment-555815799