QUIC: ignore CRYPTO frames after handshake completion.

Sending handshake-level CRYPTO frames after the client's Finished message could
lead to memory disclosure and a potential segfault, if those frames are sent in
one packet with the Finished frame.
This commit is contained in:
Roman Arutyunyan 2024-05-28 17:19:08 +04:00
parent cca5655dd9
commit 6f8c520f49

View File

@ -326,6 +326,11 @@ ngx_quic_handle_crypto_frame(ngx_connection_t *c, ngx_quic_header_t *pkt,
ngx_quic_crypto_frame_t *f;
qc = ngx_quic_get_connection(c);
if (!ngx_quic_keys_available(qc->keys, pkt->level, 0)) {
return NGX_OK;
}
ctx = ngx_quic_get_send_ctx(qc, pkt->level);
f = &frame->u.crypto;