mbed TLS Security Advisory 2017-02
Title |
Bypass of authentication of peer possible when the authentication |
---|---|
Date |
28th August 2017 |
Affects |
All versions of mbed TLS from version 1.3.10 and up, including |
Not affected |
mbed TLS 1.3.9 and earlier |
Impact |
Use of the ‘optional’ authentication mode can permit the peer to |
Severity |
High |
Vulnerability
If a malicious peer supplies an X.509 certificate chain that has more than
MBEDTLS_X509_MAX_INTERMEDIATE_CA
intermediates (which by default is 8), it
could bypass authentication of the certificates, when the authentication mode
was set to ‘optional’ eg. MBEDTLS_SSL_VERIFY_OPTIONAL
. The issue could be
triggered remotely by both the client and server sides.
If the authentication mode, which can be set by the function
mbedtls_ssl_conf_authmode()
, was set to ‘required’ eg.
MBEDTLS_SSL_VERIFY_REQUIRED
which is the default, authentication would occur
normally as intended.
Impact
Depending on the platform, an attack exploiting this vulnerability could allow successful impersonation of the intended peer and permit man-in-the-middle attacks.
Resolution
Affected users should upgrade to mbed TLS 1.3.21, mbed TLS 2.1.9 or mbed TLS 2.6.0.
Workaround
Users should wherever possible upgrade to the newer version of mbed TLS. Where
this is not practical, users should consider if changing the authentication to
the ‘required’ mode MBEDTLS_SSL_VERIFY_REQUIRED
is practical for their
application.