File CVE-2018-9988.patch of Package mbedtls.7991

---
 library/ssl_cli.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Index: mbedtls-1.3.19/library/ssl_cli.c
===================================================================
--- mbedtls-1.3.19.orig/library/ssl_cli.c
+++ mbedtls-1.3.19/library/ssl_cli.c
@@ -2071,10 +2071,16 @@ static int ssl_parse_server_key_exchange
         /*
          * Read signature
          */
+        if( p > end - 2 )
+        {
+            SSL_DEBUG_MSG( 1, ( "bad server key exchange message" ) );
+            ssl_send_alert_message( ssl, SSL_ALERT_LEVEL_FATAL, SSL_ALERT_MSG_DECODE_ERROR );
+            return( POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE );
+        }
         sig_len = ( p[0] << 8 ) | p[1];
         p += 2;
 
-        if( end != p + sig_len )
+        if( p != end - sig_len ) 
         {
             SSL_DEBUG_MSG( 1, ( "bad server key exchange message" ) );
             return( POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE );
openSUSE Build Service is sponsored by