* Thu Jul 14 2016 mpluskal@suse.com
- Update to version 1.3.17 (boo#988956):
* Security
+ Fix missing padding length check in
mbedtls_rsa_rsaes_pkcs1_v15_decrypt required by PKCS1 v2.2
+ Fix a potential integer underflow to buffer overread in
mbedtls_rsa_rsaes_oaep_decrypt. It is not triggerable
remotely in SSL/TLS.
+ Fix potential integer overflow to buffer overflow in
mbedtls_rsa_rsaes_pkcs1_v15_encrypt and
mbedtls_rsa_rsaes_oaep_encrypt
* Bugfix
+ Fix bug in mbedtls_mpi_add_mpi() that caused wrong results
when the three arguments where the same (in-place doubling).
Found and fixed by Janos Follath. #309
+ Fix issue in Makefile that prevented building using armar.
+ Fix issue that caused a hang up when generating RSA keys of
odd bitlength
+ Fix bug in mbedtls_rsa_rsaes_pkcs1_v15_encrypt that made
null pointer dereference possible.
+ Fix issue that caused a crash if invalid curves were passed
to mbedtls_ssl_conf_curves. #373
* Changes
+ On ARM platforms, when compiling with -O0 with GCC, Clang or
armcc5, don't use the optimized assembly for bignum
multiplication. This removes the need to pass
- fomit-frame-pointer to avoid a build error with -O0.
+ Disabled SSLv3 in the default configuration.
+ Fix non-compliance server extension handling. Extensions for
SSLv3 are now ignored, as required by RFC6101.
* Sun Jan 10 2016 mpluskal@suse.com
- Update to 1.3.16
* Fixes a potential double free when
mbedtls_asn1_store_named_data() fails to allocate memory. This
was only used for certificate generation and was not
triggerable remotely in SSL/TLS. boo#961290
* Disables by default MD5 handshake signatures in TLS 1.2 to
prevent the SLOTH (CVE-2015-7575) attack on TLS 1.2 server
authentication (other attacks from the SLOTH paper do not apply
to any version of mbed TLS or PolarSSL). boo#961284
* Fixes an over-restrictive length limit in GCM.
* Fixes a bug in certificate validation that caused valid chains
to be rejected when the first intermediate certificate has a
pathLenConstraint equal to zero.
* Removed potential leak in mbedtls_rsa_rsassa_pkcs1_v15_sign()
* Added config.h option POLARSSL_SSL_ENABLE_MD5_SIGNATURES to
control use of MD5-based signatures for TLS 1.2 handshake
(disabled by default).
* Wed Nov 18 2015 mpluskal@suse.com
- Update to 1.3.15
* Fix potential double free if ssl_set_psk() is called more than once and
some allocation fails. Cannot be forced remotely. Found by Guido Vranken,
Intelworks.
* Fix potential heap corruption on Windows when
x509_crt_parse_path() is passed a path longer than 2GB. Cannot be
triggered remotely. Found by Guido Vranken, Intelworks.
* Fix potential buffer overflow in some asn1_write_xxx() functions.
Cannot be triggered remotely unless you create X.509 certificates based
on untrusted input or write keys of untrusted origin. Found by Guido
Vranken, Intelworks.
* The X509 max_pathlen constraint was not enforced on intermediate
certificates. Found by Nicholas Wilson, fix and tests provided by
Janos Follath. #280 and #319
* Self-signed certificates were not excluded from pathlen counting,
resulting in some valid X.509 being incorrectly rejected. Found and fix
provided by Janos Follath. #319
* Fix bug causing some handshakes to fail due to some non-fatal alerts not
begin properly ignored. Found by mancha and Kasom Koht-arsa, #308
* Fix build error with configurations where ECDHE-PSK is the only key
exchange. Found and fix provided by Chris Hammond. #270
* Fix failures in MPI on Sparc(64) due to use of bad assembly code.
Found by Kurt Danielson. #292
* Fix typo in name of the extKeyUsage OID. Found by inestlerode, #314
* Fix bug in ASN.1 encoding of booleans that caused generated CA
certificates to be rejected by some applications, including OS X
Keychain. Found and fixed by Jonathan Leroy, Inikup.
* Fix "Destination buffer is too small" error in cert_write program.
Found and fixed by Jonathan Leroy, Inikup.
* Thu Oct 08 2015 mpluskal@suse.com
- Update to 1.3.14
* Added fix for CVE-2015-5291 (boo#949380) to prevent heap corruption due to buffer
overflow of the hostname or session ticket. Found by Guido Vranken,
Intelworks.
* Fix stack buffer overflow in pkcs12 decryption (used by
mbedtls_pk_parse_key(file)() when the password is > 129 bytes. Found by
Guido Vranken, Intelworks. Not triggerable remotely.
* Fix potential buffer overflow in mbedtls_mpi_read_string().
Found by Guido Vranken, Intelworks. Not exploitable remotely in the context
of TLS, but might be in other uses. On 32 bit machines, requires reading a
string of close to or larger than 1GB to exploit; on 64 bit machines, would
require reading a string of close to or larger than 2^62 bytes.
* Fix potential random memory allocation in mbedtls_pem_read_buffer()
on crafted PEM input data. Found and fix provided by Guido Vranken,
Intelworks. Not triggerable remotely in TLS. Triggerable remotely if you
accept PEM data from an untrusted source.
* Fix potential double-free if ssl_set_psk() is called repeatedly on
the same ssl_context object and some memory allocations fail. Found by
Guido Vranken, Intelworks. Can not be forced remotely.
* Fix possible heap buffer overflow in base64_encode() when the input
buffer is 512MB or larger on 32-bit platforms. Found by Guido Vranken,
Intelworks. Found by Guido Vranken. Not trigerrable remotely in TLS.
* Fix potential heap buffer overflow in servers that perform client
authentication against a crafted CA cert. Cannot be triggered remotely
unless you allow third parties to pick trust CAs for client auth. Found by
Guido Vranken, Intelworks.
* Fix compile error in net.c with musl libc. Found and patch provided by
zhasha (#278).
* Fix macroization of 'inline' keywork when building as C++. (#279)
* Added checking of hostname length in ssl_set_hostname() to ensure domain
names are compliant with RFC 1035.
- Changes for 1.3.13
* Fix possible client-side NULL pointer dereference (read) when the client
tries to continue the handshake after it failed (a misuse of the API).
(Found and patch provided by Fabian Foerg, Gotham Digital Science using afl-fuzz.)
* Add countermeasure against Lenstra's RSA-CRT attack for PKCS#1 v1.5
signatures. (Found by Florian Weimer, Red Hat.)
https://securityblog.redhat.com/2015/09/02/factoring-rsa-keys-with-tls-perfect-forward-secrecy/
* Setting SSL_MIN_DHM_BYTES in config.h had no effect (overriden in ssl.h)
(found by Fabio Solari) (#256)
* Fix bug in mbedtls_rsa_public() and mbedtls_rsa_private() that could
result trying to unlock an unlocked mutex on invalid input (found by
Fredrik Axelsson) (#257)
* Fix -Wshadow warnings (found by hnrkp) (#240)
* Fix unused function warning when using MBEDTLS_MDx_ALT or
MBEDTLS_SHAxxx_ALT (found by Henrik) (#239)
* Fix memory corruption in pkey programs (found by yankuncheng) (#210)
* Fix memory corruption on client with overlong PSK identity, around
SSL_MAX_CONTENT_LEN or higher - not triggerrable remotely (found by
Aleksandrs Saveljevs) (#238)
* Fix off-by-one error in parsing Supported Point Format extension that
caused some handshakes to fail.
* When verifying a certificate chain, if an intermediate certificate is
trusted, no later cert is checked. (suggested by hannes-landeholm)
(#220).
- Changes for 1.3.12
* Increase the minimum size of Diffie-Hellman parameters accepted by the
client to 1024 bits, to protect against Logjam attack.
* Increase the size of default Diffie-Hellman parameters on the server to
2048 bits. This can be changed with ssl_set_dh_params().
* Fix thread-safety issue in SSL debug module (found by Edwin van Vliet).
* Some example programs were not built using make, not included in Visual
Studio projects (found by Kristian Bendiksen).
* Fix build error with CMake and pre-4.5 versions of GCC (found by Hugo
Leisink).
* Fix missing -static-ligcc when building shared libraries for Windows with
make.
* Fix compile error with armcc5 --gnu.
* Add SSL_MIN_DHM_BYTES configuration parameter in config.h to choose the
minimum size of Diffie-Hellman parameters accepted by the client.
* The PEM parser now accepts a trailing space at end of lines (#226).
* Wed Jul 29 2015 dimstar@opensuse.org
- Add baselibs.conf: build libmbedtls9-32bit, as needed by
libbzrtp0-32bit.
* Mon Jun 15 2015 fisiu@opensuse.org
- Update to 1.3.11:
* Remove bias in mpi_gen_prime (contributed by Pascal Junod).
* Remove potential sources of timing variations (some contributed by Pascal
Junod).
* Options POLARSSL_HAVE_INT8 and POLARSSL_HAVE_INT16 are deprecated.
* Enabling POLARSSL_NET_C without POLARSSL_HAVE_IPV6 is deprecated.
* compat-1.2.h and openssl.h are deprecated.
* ssl_set_own_cert() no longer calls pk_check_pair() since the performance
impact was bad for some users (this was introduced in 1.3.10).
* Move from SHA-1 to SHA-256 in example programs using signatures (suggested
by Thorsten Mühlfelder).
* Remove dependency on sscanf() in X.509 parsing modules.
* Fix compile errors with PLATFORM_NO_STD_FUNCTIONS.
* Fix bug in entropy.c when THREADING_C is also enabled that caused
entropy_free() to crash (thanks to Rafa? Przywara).
* Fix memory leak when gcm_setkey() and ccm_setkey() are used more than once
on the same context.
* Fix bug in ssl_mail_client when password is longer that username (found by
Bruno Pape).
* Fix undefined behaviour (memcmp( NULL, NULL, 0 );) in X.509 modules
(detected by Clang's 3.6 UBSan).
* mpi_size() and mpi_msb() would segfault when called on an mpi that is
initialized but not set (found by pravic).
* Fix detection of support for getrandom() on Linux (reported by syzzer) by
doing it at runtime (using uname) rather that compile time.
* Fix handling of symlinks by "make install" (found by Gaël PORTAY).
* Fix potential NULL pointer dereference (not trigerrable remotely) when
ssl_write() is called before the handshake is finished (introduced in
1.3.10) (first reported by Martin Blumenstingl).
* Fix bug in pk_parse_key() that caused some valid private EC keys to be
rejected.
* Fix bug in Via Padlock support (found by Nikos Mavrogiannopoulos).
* Fix thread safety bug in RSA operations (found by Fredrik Axelsson).
* Fix hardclock() (only used in the benchmarking program) with some versions
of mingw64 (found by kxjhlele).
* Fix potential unintended sign extension in asn1_get_len() on 64-bit
platforms.
* Fix potential memory leak in ssl_set_psk() (found by Mansour Moufid).
* Fix compile error when POLARSSL_SSL_DISABLE_RENEGOTATION and
POLARSSL_SSL_SSESSION_TICKETS where both enabled in config.h (introduced in
1.3.10).
* Add missing extern "C" guard in aesni.h (reported by amir zamani).
* Add missing dependency on SHA-256 in some x509 programs (reported by
Gergely Budai).
* Fix bug related to ssl_set_curves(): the client didn't check that the curve
picked by the server was actually allowed.
- Drop getrandom-syscall-fallback.patch: fixed upstream.
* Wed Apr 01 2015 schwab@suse.de
- getrandom-syscall-fallback.patch: Fall back to /dev/urandom if getrandom
syscall is not implemented.
* Fri Mar 27 2015 mpluskal@suse.com
- Update package categories
* Wed Mar 18 2015 mpluskal@suse.com
- Create symlink to ensure compatibility with polarssl
* Mon Mar 16 2015 mpluskal@suse.com
- Update provides/obsoletes
* Sun Mar 15 2015 mpluskal@suse.com
- Fix sed for includes
* Sun Mar 15 2015 mpluskal@suse.com
- Rename to mbedtls
- Use cmake macro for building
- Update to 1.3.10
* NULL pointer dereference in the buffer-based allocator when the buffer is
full and polarssl_free() is called (found by Mark Hasemeyer)
(only possible if POLARSSL_MEMORY_BUFFER_ALLOC_C is enabled, which it is
not by default).
* Fix remotely-triggerable uninitialised pointer dereference caused by
crafted X.509 certificate (TLS server is not affected if it doesn't ask for a
client certificate) (found using Codenomicon Defensics).
* Fix remotely-triggerable memory leak caused by crafted X.509 certificates
(TLS server is not affected if it doesn't ask for a client certificate)
(found using Codenomicon Defensics).
* Fix potential stack overflow while parsing crafted X.509 certificates
(TLS server is not affected if it doesn't ask for a client certificate)
(found using Codenomicon Defensics).
* Fix timing difference that could theoretically lead to a
Bleichenbacher-style attack in the RSA and RSA-PSK key exchanges
(reported by Sebastian Schinzel).
* Add support for FALLBACK_SCSV (draft-ietf-tls-downgrade-scsv).
* Add support for Extended Master Secret (draft-ietf-tls-session-hash).
* Add support for Encrypt-then-MAC (RFC 7366).
* Add function pk_check_pair() to test if public and private keys match.
* Add x509_crl_parse_der().
* Add compile-time option POLARSSL_X509_MAX_INTERMEDIATE_CA to limit the
length of an X.509 verification chain.
* Support for renegotiation can now be disabled at compile-time
* Support for 1/n-1 record splitting, a countermeasure against BEAST.
* Certificate selection based on signature hash, prefering SHA-1 over SHA-2
for pre-1.2 clients when multiple certificates are available.
* Add support for getrandom() syscall on recent Linux kernels with Glibc or
a compatible enough libc (eg uClibc).
* Add ssl_set_arc4_support() to make it easier to disable RC4 at runtime
while using the default ciphersuite list.
* Added new error codes and debug messages about selection of
ciphersuite/certificate.
* Tue Jan 20 2015 fisiu@opensuse.org
- Add polarssl-CVE-2015-1182.patch: Remote attack using crafted certificates:
fix boo#913903, CVE-2015-1182.
* Mon Nov 03 2014 fisiu@opensuse.org
- Update to 1.3.9, detailed changes available in ChangeLog file:
* Lowest common hash was selected from signature_algorithms extension in
TLS 1.2: fix boo#903672, CVE-2014-8627.
* Remotely-triggerable memory leak when parsing some X.509 certificates,
CVE-2014-8628.
* Remotely-triggerable memory leak when parsing crafted ClientHello,
CVE-2014-8628.
* Ciphersuites using SHA-256 or SHA-384 now require TLS 1.x.
* Ciphersuites using RSA-PSK key exchange now require TLS 1.x.
* POLARSSL_MPI_MAX_SIZE now defaults to 1024 in order to allow 8192 bits RSA
keys.
* X.509 certificates with more than one AttributeTypeAndValue per
RelativeDistinguishedName are not accepted any more.
- Build with POLARSSL_THREADING_PTHREAD: fix boo#903671.
* Fri Aug 15 2014 fisiu@opensuse.org
- Update to 1.3.8, detailed changes available in ChangeLog file:
* Fix length checking for AEAD ciphersuites (found by Codenomicon).
It was possible to crash the server (and client) using crafted messages
when a GCM suite was chosen.
* Add CCM module and cipher mode to Cipher Layer
* Support for CCM and CCM_8 ciphersuites
* Support for parsing and verifying RSASSA-PSS signatures in the X.509
modules (certificates, CRLs and CSRs).
* Blowfish in the cipher layer now supports variable length keys.
* Add example config.h for PSK with CCM, optimized for low RAM usage.
* Optimize for RAM usage in example config.h for NSA Suite B profile.
* Add POLARSSL_REMOVE_ARC4_CIPHERSUITES to allow removing RC4 ciphersuites
from the default list (inactive by default).
* Add server-side enforcement of sent renegotiation requests
(ssl_set_renegotiation_enforced())
* Add SSL_CIPHERSUITES config.h flag to allow specifying a list of
ciphersuites to use and save some memory if the list is small.
* Sat Mar 29 2014 fisiu@opensuse.org
- Update to 1.3.5, detailed changes available in ChangeLog file:
* Elliptic Curve Cryptography module added
* Elliptic Curve Diffie Hellman module added
* Ephemeral Elliptic Curve Diffie Hellman support for SSL/TLS
(ECDHE-based ciphersuites)
* Ephemeral Elliptic Curve Digital Signature Algorithm support for SSL/TLS
(ECDSA-based ciphersuites)
* Ability to specify allowed ciphersuites based on the protocol version.
* PSK and DHE-PSK based ciphersuites added
* Memory allocation abstraction layer added
* Buffer-based memory allocator added (no malloc() / free() / HEAP usage)
* Threading abstraction layer added (dummy / pthread / alternate)
* Public Key abstraction layer added
* Parsing Elliptic Curve keys
* Parsing Elliptic Curve certificates
* Support for max_fragment_length extension (RFC 6066)
* Support for truncated_hmac extension (RFC 6066)
* Support for zeros-and-length (ANSI X.923) padding, one-and-zeros
(ISO/IEC 7816-4) padding and zero padding in the cipher layer
* Support for session tickets (RFC 5077)
* Certificate Request (CSR) generation with extensions (key_usage,
ns_cert_type)
* X509 Certificate writing with extensions (basic_constraints,
issuer_key_identifier, etc)
* Optional blinding for RSA, DHM and EC
* Support for multiple active certificate / key pairs in SSL servers for
the same host (Not to be confused with SNI!)
* Wed May 15 2013 fisiu@opensuse.org
- Update to 1.2.7:
* Ability to specify allowed ciphersuites based on the protocol
version.
* Default Blowfish keysize is now 128-bits
* Test suites made smaller to accommodate Raspberry Pi
* Fix for MPI assembly for ARM
* GCM adapted to support sizes > 2^29
* Sat Mar 16 2013 fisiu@opensuse.org
- Update to 1.2.6:
* Fixed memory leak in ssl_free() and ssl_reset()
* Corrected GCM counter incrementation to use only 32-bits
instead of 128-bits
* Fixed net_bind() for specified IP addresses on little endian
systems
* Fixed assembly code for ARM (Thumb and regular)
* Detailed information available in ChangeLog file.
* Fri Mar 08 2013 fisiu@opensuse.org
- Update to 1.2.5
* Sun Jan 29 2012 jengelh@medozas.de
- Remove redundant tags/sections per specfile guideline suggestions