From 6945d722e682c0a1e5986f8844ad4428c7f97aea Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 9 Oct 2012 16:41:36 +0000 Subject: cyassl: add a patch to better check legacy SSLv2 client hello records 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 --- .../patches/200-SSL_accept-handle-hello-garbage.patch | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch (limited to 'package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch') diff --git a/package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch b/package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch new file mode 100644 index 0000000000..4a6b8da67e --- /dev/null +++ b/package/libs/cyassl/patches/200-SSL_accept-handle-hello-garbage.patch @@ -0,0 +1,13 @@ +--- 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; -- cgit v1.2.3