mbedtls: update to 2.6.0 CVE-2017-14032

Fixed an authentication bypass issue in SSL/TLS. When the TLS
authentication mode was set to 'optional',
mbedtls_ssl_get_verify_result() would incorrectly return 0 when the
peer's X.509 certificate chain had more than
MBEDTLS_X509_MAX_INTERMEDIATE_CA intermediates (default: 8), even when
it was not trusted. This could be triggered remotely on both the client
and server side. (Note, with the authentication mode set by
mbedtls_ssl_conf_authmode()to be 'required' (the default), the handshake
was correctly aborted).

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Tested-by: Magnus Kroken <mkroken@gmail.com>
This commit is contained in:
Kevin Darbyshire-Bryant 2017-09-01 19:04:29 +01:00 committed by Hauke Mehrtens
parent 37e1bd27d0
commit e232c6754d
2 changed files with 30 additions and 30 deletions

View File

@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=mbedtls PKG_NAME:=mbedtls
PKG_VERSION:=2.5.1 PKG_VERSION:=2.6.0
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_USE_MIPS16:=0 PKG_USE_MIPS16:=0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-gpl.tgz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-gpl.tgz
PKG_SOURCE_URL:=https://tls.mbed.org/download/ PKG_SOURCE_URL:=https://tls.mbed.org/download/
PKG_HASH:=312f020006f0d8e9ede3ed8e73d907a629baf6475229703941769372ab0adee2 PKG_HASH:=a99959d7360def22f9108d2d487c9de384fe76c349697176b1f22370080d5810
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPL-2.0+ PKG_LICENSE:=GPL-2.0+

View File

@ -1,6 +1,6 @@
--- a/include/mbedtls/config.h --- a/include/mbedtls/config.h
+++ b/include/mbedtls/config.h +++ b/include/mbedtls/config.h
@@ -191,7 +191,7 @@ @@ -220,7 +220,7 @@
* *
* Uncomment to get errors on using deprecated functions. * Uncomment to get errors on using deprecated functions.
*/ */
@ -9,7 +9,7 @@
/* \} name SECTION: System support */ /* \} name SECTION: System support */
@@ -504,17 +504,17 @@ @@ -539,17 +539,17 @@
* *
* Comment macros to disable the curve and functions for it * Comment macros to disable the curve and functions for it
*/ */
@ -35,7 +35,7 @@
#define MBEDTLS_ECP_DP_CURVE25519_ENABLED #define MBEDTLS_ECP_DP_CURVE25519_ENABLED
/** /**
@@ -539,8 +539,8 @@ @@ -574,8 +574,8 @@
* Requires: MBEDTLS_HMAC_DRBG_C * Requires: MBEDTLS_HMAC_DRBG_C
* *
* Comment this macro to disable deterministic ECDSA. * Comment this macro to disable deterministic ECDSA.
@ -45,7 +45,7 @@
/** /**
* \def MBEDTLS_KEY_EXCHANGE_PSK_ENABLED * \def MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
@@ -586,7 +586,7 @@ @@ -621,7 +621,7 @@
* MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA * MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA * MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA
*/ */
@ -54,7 +54,7 @@
/** /**
* \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED * \def MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
@@ -605,8 +605,8 @@ @@ -640,8 +640,8 @@
* MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 * MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
* MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA * MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA * MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA
@ -64,7 +64,7 @@
/** /**
* \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED * \def MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
@@ -631,7 +631,7 @@ @@ -666,7 +666,7 @@
* MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA * MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
* MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA * MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
*/ */
@ -73,7 +73,7 @@
/** /**
* \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED * \def MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
@@ -758,7 +758,7 @@ @@ -793,7 +793,7 @@
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 * MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 * MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
*/ */
@ -82,7 +82,7 @@
/** /**
* \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED * \def MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
@@ -782,7 +782,7 @@ @@ -817,7 +817,7 @@
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 * MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 * MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
*/ */
@ -91,7 +91,7 @@
/** /**
* \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED * \def MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
@@ -886,7 +886,7 @@ @@ -921,7 +921,7 @@
* This option is only useful if both MBEDTLS_SHA256_C and * This option is only useful if both MBEDTLS_SHA256_C and
* MBEDTLS_SHA512_C are defined. Otherwise the available hash module is used. * MBEDTLS_SHA512_C are defined. Otherwise the available hash module is used.
*/ */
@ -100,7 +100,7 @@
/** /**
* \def MBEDTLS_ENTROPY_NV_SEED * \def MBEDTLS_ENTROPY_NV_SEED
@@ -980,14 +980,14 @@ @@ -1015,14 +1015,14 @@
* Uncomment this macro to disable the use of CRT in RSA. * Uncomment this macro to disable the use of CRT in RSA.
* *
*/ */
@ -117,7 +117,7 @@
/** /**
* \def MBEDTLS_SHA256_SMALLER * \def MBEDTLS_SHA256_SMALLER
@@ -1003,7 +1003,7 @@ @@ -1038,7 +1038,7 @@
* *
* Uncomment to enable the smaller implementation of SHA256. * Uncomment to enable the smaller implementation of SHA256.
*/ */
@ -126,7 +126,7 @@
/** /**
* \def MBEDTLS_SSL_ALL_ALERT_MESSAGES * \def MBEDTLS_SSL_ALL_ALERT_MESSAGES
@@ -1122,8 +1122,8 @@ @@ -1157,8 +1157,8 @@
* misuse/misunderstand. * misuse/misunderstand.
* *
* Comment this to disable support for renegotiation. * Comment this to disable support for renegotiation.
@ -136,7 +136,7 @@
/** /**
* \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO * \def MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
@@ -1297,8 +1297,8 @@ @@ -1332,8 +1332,8 @@
* callbacks are provided by MBEDTLS_SSL_TICKET_C. * callbacks are provided by MBEDTLS_SSL_TICKET_C.
* *
* Comment this macro to disable support for SSL session tickets * Comment this macro to disable support for SSL session tickets
@ -146,7 +146,7 @@
/** /**
* \def MBEDTLS_SSL_EXPORT_KEYS * \def MBEDTLS_SSL_EXPORT_KEYS
@@ -1328,7 +1328,7 @@ @@ -1363,7 +1363,7 @@
* *
* Comment this macro to disable support for truncated HMAC in SSL * Comment this macro to disable support for truncated HMAC in SSL
*/ */
@ -155,7 +155,7 @@
/** /**
* \def MBEDTLS_THREADING_ALT * \def MBEDTLS_THREADING_ALT
@@ -1362,8 +1362,8 @@ @@ -1397,8 +1397,8 @@
* Requires: MBEDTLS_VERSION_C * Requires: MBEDTLS_VERSION_C
* *
* Comment this to disable run-time checking and save ROM space * Comment this to disable run-time checking and save ROM space
@ -165,7 +165,7 @@
/** /**
* \def MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 * \def MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
@@ -1684,7 +1684,7 @@ @@ -1719,7 +1719,7 @@
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 * MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
* MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 * MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
*/ */
@ -174,7 +174,7 @@
/** /**
* \def MBEDTLS_CCM_C * \def MBEDTLS_CCM_C
@@ -1698,7 +1698,7 @@ @@ -1733,7 +1733,7 @@
* This module enables the AES-CCM ciphersuites, if other requisites are * This module enables the AES-CCM ciphersuites, if other requisites are
* enabled as well. * enabled as well.
*/ */
@ -183,7 +183,7 @@
/** /**
* \def MBEDTLS_CERTS_C * \def MBEDTLS_CERTS_C
@@ -1710,7 +1710,7 @@ @@ -1745,7 +1745,7 @@
* *
* This module is used for testing (ssl_client/server). * This module is used for testing (ssl_client/server).
*/ */
@ -192,7 +192,7 @@
/** /**
* \def MBEDTLS_CIPHER_C * \def MBEDTLS_CIPHER_C
@@ -1763,7 +1763,7 @@ @@ -1798,7 +1798,7 @@
* *
* This module provides debugging functions. * This module provides debugging functions.
*/ */
@ -201,7 +201,7 @@
/** /**
* \def MBEDTLS_DES_C * \def MBEDTLS_DES_C
@@ -1788,8 +1788,8 @@ @@ -1823,8 +1823,8 @@
* MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA * MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA
* *
* PEM_PARSE uses DES/3DES for decrypting encrypted keys. * PEM_PARSE uses DES/3DES for decrypting encrypted keys.
@ -211,7 +211,7 @@
/** /**
* \def MBEDTLS_DHM_C * \def MBEDTLS_DHM_C
@@ -1943,8 +1943,8 @@ @@ -1978,8 +1978,8 @@
* Requires: MBEDTLS_MD_C * Requires: MBEDTLS_MD_C
* *
* Uncomment to enable the HMAC_DRBG random number geerator. * Uncomment to enable the HMAC_DRBG random number geerator.
@ -221,7 +221,7 @@
/** /**
* \def MBEDTLS_MD_C * \def MBEDTLS_MD_C
@@ -2221,7 +2221,7 @@ @@ -2256,7 +2256,7 @@
* Caller: library/md.c * Caller: library/md.c
* *
*/ */
@ -230,7 +230,7 @@
/** /**
* \def MBEDTLS_RSA_C * \def MBEDTLS_RSA_C
@@ -2299,8 +2299,8 @@ @@ -2334,8 +2334,8 @@
* Caller: * Caller:
* *
* Requires: MBEDTLS_SSL_CACHE_C * Requires: MBEDTLS_SSL_CACHE_C
@ -240,7 +240,7 @@
/** /**
* \def MBEDTLS_SSL_COOKIE_C * \def MBEDTLS_SSL_COOKIE_C
@@ -2321,8 +2321,8 @@ @@ -2356,8 +2356,8 @@
* Caller: * Caller:
* *
* Requires: MBEDTLS_CIPHER_C * Requires: MBEDTLS_CIPHER_C
@ -250,7 +250,7 @@
/** /**
* \def MBEDTLS_SSL_CLI_C * \def MBEDTLS_SSL_CLI_C
@@ -2421,8 +2421,8 @@ @@ -2456,8 +2456,8 @@
* Module: library/version.c * Module: library/version.c
* *
* This module provides run-time version information. * This module provides run-time version information.
@ -260,7 +260,7 @@
/** /**
* \def MBEDTLS_X509_USE_C * \def MBEDTLS_X509_USE_C
@@ -2532,7 +2532,7 @@ @@ -2567,7 +2567,7 @@
* Module: library/xtea.c * Module: library/xtea.c
* Caller: * Caller:
*/ */
@ -269,7 +269,7 @@
/* \} name SECTION: mbed TLS modules */ /* \} name SECTION: mbed TLS modules */
@@ -2646,7 +2646,7 @@ @@ -2681,7 +2681,7 @@
* recommended because of it is possible to generte SHA-1 collisions, however * recommended because of it is possible to generte SHA-1 collisions, however
* this may be safe for legacy infrastructure where additional controls apply. * this may be safe for legacy infrastructure where additional controls apply.
*/ */