facebook / mvfst

An implementation of the QUIC transport protocol.
MIT License
1.5k stars 244 forks source link

Mvfst server does not close the connection when the client sends NEW_CONNECTION_ID frames that exceed the server's active_connection_id_limit. #320

Open QUICTester opened 1 year ago

QUICTester commented 1 year ago

I am a member of a group investigating automated testing of QUIC protocol implementations. During our tests involving a Mvfst implementation in Proxygen (v2023.09.18.00).

The Mvfst server does not close the connection when the client sends NEW_CONNECTION_ID frames carrying Connection IDs that exceed the server's active_connection_id_limit.

According to RFC 9000: "After processing a NEW_CONNECTION_ID frame and adding and retiring active connection IDs, if the number of active connection IDs exceeds the value advertised in its active_connection_id_limit transport parameter, an endpoint MUST close the connection with an error of type CONNECTION_ID_LIMIT_ERROR."

Thank you for your time.

Steps To Reproduce Once the handshake is complete, send a 1-RTT packet carrying a number of NEW_CONNECTION_ID frames that exceed the active_connection_id_limit by 1.