Version
5.8.4
Description
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.
According to the RFC 8446 section 4: A peer which receives a handshake message in an unexpected order MUST abort the handshake with an "unexpected_message" alert. This means that WolfSSL should return an UnexpectedMessage alert in this case.
Impact
RFC violation
Expected behavior
WolfSSL client should send a UnexpectedMessage Alert and abort the connection.
Reproduction steps
Here is an example of a TLS 1.3 handshake that triggers the described behavior :
- Wait for a ClientHello
- Send a ServerHello
- Compute the handshake keys, and instead of sending EncryptedExtensions, send an encrypted ServerHello message
You should see the WolfSSL client aborting the connection without an Alert.
Acknowledgements
This bug was found thanks to the tlspuffin fuzzer designed and developed by the tlspuffin team:
- Max Ammann
- Olivier Demengeon - Loria, Inria
- Tom Gouville - Loria, Inria
- Lucca Hirschi - Loria, Inria
- Steve Kremer - Loria, Inria
- Michael Mera - Loria, Inria