Functions§
- create_
corpus - The
differential_rfccorpus: reproducers for RFC violations found via differential fuzzing. - rfc_
violation_ alert_ bad_ key_ share - A wolfSSL TLS 1.3 Server receiving a ClientHello with a malformed KeyShare extension (e.g. with no key inside) returns a IllegalParameter alert instead of a DecodeError alert. https://github.com/wolfSSL/wolfssl/issues/9640
- rfc_
violation_ alert_ unsupported_ cipher_ suite - RFC violation triggering bad wolfSSL alert when SH contains unsupported cipher (HandshakeFailure instead of IllegalParameter) https://github.com/wolfSSL/wolfssl/issues/9639
- rfc_
violation_ bad_ alert_ non_ requested_ psk - A WolfSSL TLS 1.3 client receiving a ServerHello with a PresharedKey extension when the client hasn’t requested the use of a preshared key, returns an IllegalParameter Alert instead of UnsupportedExtension https://github.com/wolfSSL/wolfssl/issues/9503
- rfc_
violation_ changing_ cipher_ after_ hrr - A WolfSSL TLS 1.3 client receiving a HelloRetryRequest followed by a ServerHello with another cipher (eg. using TLS_AES_256_GCM_SHA384 in HRR and TLS_AES_128_GCM_SHA256 in ServerHello), will continue the handshake while it should reject the ServerHello with an appropriate error. https://github.com/wolfSSL/wolfssl/issues/9331
- rfc_
violation_ client_ changing_ cipher_ hrr - A WolfSSL TLS 1.3 server receiving a second ClientHello after a HelloRetryRequest with another
cipher, after the Server has selected a cipher (eg. using
TLS_AES_256_GCM_SHA384in first CH andTLS_AES_128_GCM_SHA256in the second), will continue the handshake while it should reject the second ClientHello with an appropriate error. - rfc_
violation_ incorrect_ extension_ in_ sh - An OpenSSL TLS 1.3 client receiving a ServerHello with a StatusRequest extension returns an UnsupportedExtension Alert instead of an IllegalParameter alert https://github.com/openssl/openssl/issues/29353
- rfc_
violation_ incorrect_ keyshare_ after_ hrr - A WolfSSL TLS 1.3 server sending a HelloRetryRequest requesting a specific KeyShare can accept a second ClientHello with a KeyShare not present in the HelloRetryRequest. https://github.com/wolfSSL/wolfssl/issues/9362
- rfc_
violation_ missing_ alert_ out_ of_ order_ encrypted - A WolfSSL TLS 1.3 client receiving encrypted out of order messages will detect the error and log “Out of order message, fatal” without sending an alert. https://github.com/wolfSSL/wolfssl/issues/9531
- rfc_
violation_ missing_ supported_ group - WolfSSL can respond to a ClientHello without a SupportedGroup extension if the CH contains a keyshare. This behavior happens only when setting the list of supported groups on the server using wolfSSL_set_groups or wolfSSL_CTX_set1_groups_list or using –force-curve in the example CLI. https://github.com/wolfSSL/wolfssl/issues/9521 https://github.com/wolfSSL/wolfssl/issues/9247
- rfc_
violation_ no_ alert_ duplicate_ extension - A WolfSSL TLS 1.3 client receiving a ServerHello containing a duplicated extension (e.g. two SupportedVersions) abort the connection but doesn’t send an Alert. https://github.com/wolfSSL/wolfssl/issues/9520
- rfc_
violation_ no_ change_ after_ hrr - When receiving a HelloRetryRequest (ServerHello with magic random value) which should trigger no change in the ClientHello (the HRR only contains a SupportedVersion extension), WolfSSL TLS 1.3 client sends a ClientHello that is identical to its first ClientHello. https://github.com/wolfSSL/wolfssl/issues/9247