mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 22:47:56 +00:00
6945d722e6
If junk data is received during SSL_accept(), cyassl will treat it as legacy SSLv2 record without performing further plausibility checks. Change the legacy code path to return UNKNOWN_HANDSHAKE_TYPE if the value of the third byte isn't 0x01 the hello message type. SVN-Revision: 33675
14 lines
545 B
Diff
14 lines
545 B
Diff
--- a/src/cyassl_int.c
|
|
+++ b/src/cyassl_int.c
|
|
@@ -1588,6 +1588,10 @@
|
|
b1 =
|
|
ssl->buffers.inputBuffer.buffer[ssl->buffers.inputBuffer.idx++];
|
|
ssl->curSize = ((b0 & 0x7f) << 8) | b1;
|
|
+
|
|
+ /* does not appear to a be a SSLv2 client hello */
|
|
+ if ( ssl->buffers.inputBuffer.buffer[ssl->buffers.inputBuffer.idx] != 1 )
|
|
+ return UNKNOWN_HANDSHAKE_TYPE;
|
|
}
|
|
else {
|
|
ssl->options.processReply = getRecordLayerHeader;
|