You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current, we do some amount of header parsing in port_default_packet_handler, for things like version negotiation and server address validation. But these checks occur before we have done AEAD validation on a packet, meaning we are somewhat susceptible to corruption of the header data, and may accept invalid values from a peer. Currently we are mitigating this through various checks and indpependent validations (i.e. checking the token-encoded dcid against the header dcid).
A better solution would be to refactor when we do AEAD validation to ensure that the packet has some level of integrity. This is a significant work effort however, and so should be undertaken post 3.5
I believe @Sashan has some ideas on how to accomplish this
The text was updated successfully, but these errors were encountered:
I think we need to go for it. We need to verify integrity of QUIC header before the packet is passed to channel. The integrity check must happen in port.
Current, we do some amount of header parsing in port_default_packet_handler, for things like version negotiation and server address validation. But these checks occur before we have done AEAD validation on a packet, meaning we are somewhat susceptible to corruption of the header data, and may accept invalid values from a peer. Currently we are mitigating this through various checks and indpependent validations (i.e. checking the token-encoded dcid against the header dcid).
A better solution would be to refactor when we do AEAD validation to ensure that the packet has some level of integrity. This is a significant work effort however, and so should be undertaken post 3.5
I believe @Sashan has some ideas on how to accomplish this
The text was updated successfully, but these errors were encountered: