early-access version 1503
This commit is contained in:
735
externals/mbedtls/ChangeLog
vendored
735
externals/mbedtls/ChangeLog
vendored
@@ -1,5 +1,730 @@
|
||||
mbed TLS ChangeLog (Sorted per branch, date)
|
||||
|
||||
= mbed TLS 2.16.9 branch released 2020-12-11
|
||||
|
||||
Security
|
||||
* Limit the size of calculations performed by mbedtls_mpi_exp_mod to
|
||||
MBEDTLS_MPI_MAX_SIZE to prevent a potential denial of service when
|
||||
generating Diffie-Hellman key pairs. Credit to OSS-Fuzz.
|
||||
* A failure of the random generator was ignored in mbedtls_mpi_fill_random(),
|
||||
which is how most uses of randomization in asymmetric cryptography
|
||||
(including key generation, intermediate value randomization and blinding)
|
||||
are implemented. This could cause failures or the silent use of non-random
|
||||
values. A random generator can fail if it needs reseeding and cannot not
|
||||
obtain entropy, or due to an internal failure (which, for Mbed TLS's own
|
||||
CTR_DRBG or HMAC_DRBG, can only happen due to a misconfiguration).
|
||||
* Fix a compliance issue whereby we were not checking the tag on the
|
||||
algorithm parameters (only the size) when comparing the signature in the
|
||||
description part of the cert to the real signature. This meant that a
|
||||
NULL algorithm parameters entry would look identical to an array of REAL
|
||||
(size zero) to the library and thus the certificate would be considered
|
||||
valid. However, if the parameters do not match in *any* way then the
|
||||
certificate should be considered invalid, and indeed OpenSSL marks these
|
||||
certs as invalid when mbedtls did not.
|
||||
Many thanks to guidovranken who found this issue via differential fuzzing
|
||||
and reported it in #3629.
|
||||
* Zeroising of local buffers and variables which are used for calculations
|
||||
in mbedtls_pkcs5_pbkdf2_hmac(), mbedtls_internal_sha*_process(),
|
||||
mbedtls_internal_md*_process() and mbedtls_internal_ripemd160_process()
|
||||
functions to erase sensitive data from memory. Reported by
|
||||
Johan Malmgren and Johan Uppman Bruce from Sectra.
|
||||
|
||||
Bugfix
|
||||
* Fix an invalid (but nonzero) return code from mbedtls_pk_parse_subpubkey()
|
||||
when the input has trailing garbage. Fixes #2512.
|
||||
* Fix rsa_prepare_blinding() to retry when the blinding value is not
|
||||
invertible (mod N), instead of returning MBEDTLS_ERR_RSA_RNG_FAILED. This
|
||||
addresses a regression but is rare in practice (approx. 1 in 2/sqrt(N)).
|
||||
Found by Synopsys Coverity, fix contributed by Peter Kolbus (Garmin).
|
||||
Fixes #3647.
|
||||
* Fix the build when the macro _GNU_SOURCE is defined to a non-empty value.
|
||||
Fix #3432.
|
||||
* Correct the default IV size for mbedtls_cipher_info_t structures using
|
||||
MBEDTLS_MODE_ECB to 0, since ECB mode ciphers don't use IVs.
|
||||
* Make arc4random_buf available on NetBSD and OpenBSD when _POSIX_C_SOURCE is
|
||||
defined. Fix contributed in #3571. Adopted for LTS branch 2.16 in #3602.
|
||||
* Fix build failures on GCC 11. Fixes #3782.
|
||||
* Fix a memory leak in mbedtls_mpi_sub_abs() when the result was negative
|
||||
(an error condition) and the second operand was aliased to the result.
|
||||
* Fix a case in elliptic curve arithmetic where an out-of-memory condition
|
||||
could go undetected, resulting in an incorrect result.
|
||||
* In CTR_DRBG and HMAC_DRBG, don't reset the reseed interval in seed().
|
||||
Fixes #2927.
|
||||
* In PEM writing functions, fill the trailing part of the buffer with null
|
||||
bytes. This guarantees that the corresponding parsing function can read
|
||||
the buffer back, which was the case for mbedtls_x509write_{crt,csr}_pem
|
||||
until this property was inadvertently broken in Mbed TLS 2.19.0.
|
||||
Fixes #3682.
|
||||
* Fix a build failure that occurred with the MBEDTLS_AES_SETKEY_DEC_ALT
|
||||
option on. In this configuration key management methods that are required
|
||||
for MBEDTLS_CIPHER_MODE_XTS were excluded from the build and made it fail.
|
||||
Fixes #3818. Reported by John Stroebel.
|
||||
|
||||
Changes
|
||||
* Reduce stack usage significantly during sliding window exponentiation.
|
||||
Reported in #3591 and fix contributed in #3592 by Daniel Otte.
|
||||
* Remove the zeroization of a pointer variable in AES rounds. It was valid
|
||||
but spurious and misleading since it looked like a mistaken attempt to
|
||||
zeroize the pointed-to buffer. Reported by Antonio de la Piedra, CEA
|
||||
Leti, France.
|
||||
|
||||
= mbed TLS 2.16.8 branch released 2020-09-01
|
||||
|
||||
Features
|
||||
* Support building on e2k (Elbrus) architecture: correctly enable
|
||||
-Wformat-signedness, and fix the code that causes signed-one-bit-field
|
||||
and sign-compare warnings. Contributed by makise-homura (Igor Molchanov)
|
||||
<akemi_homura@kurisa.ch>.
|
||||
|
||||
Security
|
||||
* When checking X.509 CRLs, a certificate was only considered as revoked if
|
||||
its revocationDate was in the past according to the local clock if
|
||||
available. In particular, on builds without MBEDTLS_HAVE_TIME_DATE,
|
||||
certificates were never considered as revoked. On builds with
|
||||
MBEDTLS_HAVE_TIME_DATE, an attacker able to control the local clock (for
|
||||
example, an untrusted OS attacking a secure enclave) could prevent
|
||||
revocation of certificates via CRLs. Fixed by no longer checking the
|
||||
revocationDate field, in accordance with RFC 5280. Reported by
|
||||
yuemonangong in #3340. Reported independently and fixed by
|
||||
Raoul Strackx and Jethro Beekman in #3433.
|
||||
* In (D)TLS record decryption, when using a CBC ciphersuites without the
|
||||
Encrypt-then-Mac extension, use constant code flow memory access patterns
|
||||
to extract and check the MAC. This is an improvement to the existing
|
||||
countermeasure against Lucky 13 attacks. The previous countermeasure was
|
||||
effective against network-based attackers, but less so against local
|
||||
attackers. The new countermeasure defends against local attackers, even
|
||||
if they have access to fine-grained measurements. In particular, this
|
||||
fixes a local Lucky 13 cache attack found and reported by Tuba Yavuz,
|
||||
Farhaan Fowze, Ken (Yihan) Bai, Grant Hernandez, and Kevin Butler
|
||||
(University of Florida) and Dave Tian (Purdue University).
|
||||
* Fix side channel in RSA private key operations and static (finite-field)
|
||||
Diffie-Hellman. An adversary with precise enough timing and memory access
|
||||
information (typically an untrusted operating system attacking a secure
|
||||
enclave) could bypass an existing counter-measure (base blinding) and
|
||||
potentially fully recover the private key.
|
||||
* Fix a 1-byte buffer overread in mbedtls_x509_crl_parse_der().
|
||||
Credit to OSS-Fuzz for detecting the problem and to Philippe Antoine
|
||||
for pinpointing the problematic code.
|
||||
* Zeroising of plaintext buffers in mbedtls_ssl_read() to erase unused
|
||||
application data from memory. Reported in #689 by
|
||||
Johan Uppman Bruce of Sectra.
|
||||
|
||||
Bugfix
|
||||
* Avoid use of statically sized stack buffers for certificate writing.
|
||||
This previously limited the maximum size of DER encoded certificates
|
||||
in mbedtls_x509write_crt_der() to 2Kb. Reported by soccerGB in #2631.
|
||||
* Reduce the stack consumption of mbedtls_x509write_csr_der() which
|
||||
previously could lead to stack overflow on constrained devices.
|
||||
Contributed by Doru Gucea and Simon Leet in #3464.
|
||||
* Use arc4random_buf on NetBSD instead of rand implementation with cyclical
|
||||
lower bits. Fix contributed in #3540.
|
||||
* Fix building library/net_sockets.c and the ssl_mail_client program on
|
||||
NetBSD. NetBSD conditionals were added for the backport to avoid the risk
|
||||
of breaking a platform. Original fix contributed by Nia Alarie in #3422.
|
||||
Adapted for long-term support branch 2.16 in #3558.
|
||||
* Fix bug in redirection of unit test outputs on platforms where stdout is
|
||||
defined as a macro. First reported in #2311 and fix contributed in #3528.
|
||||
Adopted for LTS branch 2.16 in #3601.
|
||||
|
||||
Changes
|
||||
* Update copyright notices to use Linux Foundation guidance. As a result,
|
||||
the copyright of contributors other than Arm is now acknowledged, and the
|
||||
years of publishing are no longer tracked in the source files. This also
|
||||
eliminates the need for the lines declaring the files to be part of
|
||||
MbedTLS. Fixes #3457.
|
||||
|
||||
= mbed TLS 2.16.7 branch released 2020-07-01
|
||||
|
||||
Security
|
||||
* Fix a side channel vulnerability in modular exponentiation that could
|
||||
reveal an RSA private key used in a secure enclave. Noticed by Sangho Lee,
|
||||
Ming-Wei Shih, Prasun Gera, Taesoo Kim and Hyesoon Kim (Georgia Institute
|
||||
of Technology); and Marcus Peinado (Microsoft Research). Reported by Raoul
|
||||
Strackx (Fortanix) in #3394.
|
||||
* Fix side channel in mbedtls_ecp_check_pub_priv() and
|
||||
mbedtls_pk_parse_key() / mbedtls_pk_parse_keyfile() (when loading a
|
||||
private key that didn't include the uncompressed public key), as well as
|
||||
mbedtls_ecp_mul() / mbedtls_ecp_mul_restartable() when called with a NULL
|
||||
f_rng argument. An attacker with access to precise enough timing and
|
||||
memory access information (typically an untrusted operating system
|
||||
attacking a secure enclave) could fully recover the ECC private key.
|
||||
Found and reported by Alejandro Cabrera Aldaya and Billy Brumley.
|
||||
* Fix issue in Lucky 13 counter-measure that could make it ineffective when
|
||||
hardware accelerators were used (using one of the MBEDTLS_SHAxxx_ALT
|
||||
macros). This would cause the original Lucky 13 attack to be possible in
|
||||
those configurations, allowing an active network attacker to recover
|
||||
plaintext after repeated timing measurements under some conditions.
|
||||
Reported and fix suggested by Luc Perneel in #3246.
|
||||
|
||||
Bugfix
|
||||
* Fix the Visual Studio Release x64 build configuration for mbedtls itself.
|
||||
Completes a previous fix in Mbed TLS 2.16.3 that only fixed the build for
|
||||
the example programs. Reported in #1430 and fix contributed by irwir.
|
||||
* Fix undefined behavior in X.509 certificate parsing if the
|
||||
pathLenConstraint basic constraint value is equal to INT_MAX.
|
||||
The actual effect with almost every compiler is the intended
|
||||
behavior, so this is unlikely to be exploitable anywhere. #3197
|
||||
* Include asn1.h in error.c. Fixes #3328 reported by David Hu.
|
||||
* Fix potential memory leaks in ecp_randomize_jac() and ecp_randomize_mxz()
|
||||
when PRNG function fails. Contributed by Jonas Lejeune in #3318.
|
||||
* Add additional bounds checks in ssl_write_client_hello() preventing
|
||||
output buffer overflow if the configuration declared a buffer that was
|
||||
too small.
|
||||
|
||||
Changes
|
||||
* Unify the example programs termination to call mbedtls_exit() instead of
|
||||
using a return command. This has been done to enable customization of the
|
||||
behavior in bare metal environments.
|
||||
* Abort the ClientHello writing function as soon as some extension doesn't
|
||||
fit into the record buffer. Previously, such extensions were silently
|
||||
dropped. As a consequence, the TLS handshake now fails when the output
|
||||
buffer is not large enough to hold the ClientHello.
|
||||
* The ECP module, enabled by `MBEDTLS_ECP_C`, now depends on
|
||||
`MBEDTLS_CTR_DRBG_C`, `MBEDTLS_HMAC_DRBG_C`, `MBEDTLS_SHA512_C` or
|
||||
`MBEDTLS_SHA256_C` for some side-channel coutermeasures. If side channels
|
||||
are not a concern, this dependency can be avoided by enabling the new
|
||||
option `MBEDTLS_ECP_NO_INTERNAL_RNG`.
|
||||
|
||||
= mbed TLS 2.16.6 branch released 2020-04-14
|
||||
|
||||
Security
|
||||
* Fix side channel in ECC code that allowed an adversary with access to
|
||||
precise enough timing and memory access information (typically an
|
||||
untrusted operating system attacking a secure enclave) to fully recover
|
||||
an ECDSA private key. Found and reported by Alejandro Cabrera Aldaya,
|
||||
Billy Brumley and Cesar Pereida Garcia. CVE-2020-10932
|
||||
* Fix a potentially remotely exploitable buffer overread in a
|
||||
DTLS client when parsing the Hello Verify Request message.
|
||||
|
||||
Bugfix
|
||||
* Fix compilation failure when both MBEDTLS_SSL_PROTO_DTLS and
|
||||
MBEDTLS_SSL_HW_RECORD_ACCEL are enabled.
|
||||
* Fix a function name in a debug message. Contributed by Ercan Ozturk in
|
||||
#3013.
|
||||
|
||||
= mbed TLS 2.16.5 branch released 2020-02-20
|
||||
|
||||
Security
|
||||
* Fix potential memory overread when performing an ECDSA signature
|
||||
operation. The overread only happens with cryptographically low
|
||||
probability (of the order of 2^-n where n is the bitsize of the curve)
|
||||
unless the RNG is broken, and could result in information disclosure or
|
||||
denial of service (application crash or extra resource consumption).
|
||||
Found by Auke Zeilstra and Peter Schwabe, using static analysis.
|
||||
* To avoid a side channel vulnerability when parsing an RSA private key,
|
||||
read all the CRT parameters from the DER structure rather than
|
||||
reconstructing them. Found by Alejandro Cabrera Aldaya and Billy Bob
|
||||
Brumley. Reported and fix contributed by Jack Lloyd.
|
||||
ARMmbed/mbed-crypto#352
|
||||
|
||||
Bugfix
|
||||
* Fix an unchecked call to mbedtls_md() in the x509write module.
|
||||
* Fix a bug in mbedtls_pk_parse_key() that would cause it to accept some
|
||||
RSA keys that would later be rejected by functions expecting private
|
||||
keys. Found by Catena cyber using oss-fuzz (issue 20467).
|
||||
* Fix a bug in mbedtls_pk_parse_key() that would cause it to accept some
|
||||
RSA keys with invalid values by silently fixing those values.
|
||||
|
||||
= mbed TLS 2.16.4 branch released 2020-01-15
|
||||
|
||||
Security
|
||||
* Fix side channel vulnerability in ECDSA. Our bignum implementation is not
|
||||
constant time/constant trace, so side channel attacks can retrieve the
|
||||
blinded value, factor it (as it is smaller than RSA keys and not guaranteed
|
||||
to have only large prime factors), and then, by brute force, recover the
|
||||
key. Reported by Alejandro Cabrera Aldaya and Billy Brumley.
|
||||
* Zeroize local variables in mbedtls_internal_aes_encrypt() and
|
||||
mbedtls_internal_aes_decrypt() before exiting the function. The value of
|
||||
these variables can be used to recover the last round key. To follow best
|
||||
practice and to limit the impact of buffer overread vulnerabilities (like
|
||||
Heartbleed) we need to zeroize them before exiting the function.
|
||||
Issue reported by Tuba Yavuz, Farhaan Fowze, Ken (Yihang) Bai,
|
||||
Grant Hernandez, and Kevin Butler (University of Florida) and
|
||||
Dave Tian (Purdue University).
|
||||
* Fix side channel vulnerability in ECDSA key generation. Obtaining precise
|
||||
timings on the comparison in the key generation enabled the attacker to
|
||||
learn leading bits of the ephemeral key used during ECDSA signatures and to
|
||||
recover the private key. Reported by Jeremy Dubeuf.
|
||||
* Catch failure of AES functions in mbedtls_ctr_drbg_random(). Uncaught
|
||||
failures could happen with alternative implementations of AES. Bug
|
||||
reported and fix proposed by Johan Uppman Bruce and Christoffer Lauri,
|
||||
Sectra.
|
||||
|
||||
Bugfix
|
||||
* Remove redundant line for getting the bitlen of a bignum, since the variable
|
||||
holding the returned value is overwritten a line after.
|
||||
Found by irwir in #2377.
|
||||
* Support mbedtls_hmac_drbg_set_entropy_len() and
|
||||
mbedtls_ctr_drbg_set_entropy_len() before the DRBG is seeded. Before,
|
||||
the initial seeding always reset the entropy length to the compile-time
|
||||
default.
|
||||
|
||||
Changes
|
||||
* Add unit tests for AES-GCM when called through mbedtls_cipher_auth_xxx()
|
||||
from the cipher abstraction layer. Fixes #2198.
|
||||
* Clarify how the interface of the CTR_DRBG and HMAC modules relates to
|
||||
NIST SP 800-90A. In particular CTR_DRBG requires an explicit nonce
|
||||
to achieve a 256-bit strength if MBEDTLS_ENTROPY_FORCE_SHA256 is set.
|
||||
|
||||
= mbed TLS 2.16.3 branch released 2019-09-06
|
||||
|
||||
Security
|
||||
* Fix a missing error detection in ECJPAKE. This could have caused a
|
||||
predictable shared secret if a hardware accelerator failed and the other
|
||||
side of the key exchange had a similar bug.
|
||||
* The deterministic ECDSA calculation reused the scheme's HMAC-DRBG to
|
||||
implement blinding. Because of this for the same key and message the same
|
||||
blinding value was generated. This reduced the effectiveness of the
|
||||
countermeasure and leaked information about the private key through side
|
||||
channels. Reported by Jack Lloyd.
|
||||
* When writing a private EC key, use a constant size for the private
|
||||
value, as specified in RFC 5915. Previously, the value was written
|
||||
as an ASN.1 INTEGER, which caused the size of the key to leak
|
||||
about 1 bit of information on average and could cause the value to be
|
||||
1 byte too large for the output buffer.
|
||||
|
||||
API Changes
|
||||
* The new function mbedtls_ecdsa_sign_det_ext() is similar to
|
||||
mbedtls_ecdsa_sign_det() but allows passing an external RNG for the
|
||||
purpose of blinding.
|
||||
|
||||
Bugfix
|
||||
* Fix to allow building test suites with any warning that detects unused
|
||||
functions. Fixes #1628.
|
||||
* Fix typo in net_would_block(). Fixes #528 reported by github-monoculture.
|
||||
* Remove redundant include file in timing.c. Fixes #2640 reported by irwir.
|
||||
* Fix Visual Studio Release x64 build configuration by inheriting
|
||||
PlatformToolset from the project configuration. Fixes #1430 reported by
|
||||
irwir.
|
||||
* Enable Suite B with subset of ECP curves. Make sure the code compiles even
|
||||
if some curves are not defined. Fixes #1591 reported by dbedev.
|
||||
* Fix misuse of signed arithmetic in the HAVEGE module. #2598
|
||||
* Update test certificates that were about to expire. Reported by
|
||||
Bernhard M. Wiedemann in #2357.
|
||||
* Fix the build on ARMv5TE in ARM mode to not use assembly instructions
|
||||
that are only available in Thumb mode. Fix contributed by Aurelien Jarno
|
||||
in #2169.
|
||||
* Fix undefined memset(NULL) call in test_suite_nist_kw.
|
||||
* Make NV seed test support MBEDTLS_ENTROPY_FORCE_SHA256.
|
||||
* Fix propagation of restart contexts in restartable EC operations.
|
||||
This could previously lead to segmentation faults in builds using an
|
||||
address-sanitizer and enabling but not using MBEDTLS_ECP_RESTARTABLE.
|
||||
* Fix memory leak in in mpi_miller_rabin(). Contributed by
|
||||
Jens Wiklander <jens.wiklander@linaro.org> in #2363
|
||||
* Improve code clarity in x509_crt module, removing false-positive
|
||||
uninitialized variable warnings on some recent toolchains (GCC8, etc).
|
||||
Discovered and fixed by Andy Gross (Linaro), #2392.
|
||||
* Zero length buffer check for undefined behavior in
|
||||
mbedtls_platform_zeroize(). Fixes ARMmbed/mbed-crypto#49.
|
||||
* Fix bug in endianness conversion in bignum module. This lead to
|
||||
functionally incorrect code on bigendian systems which don't have
|
||||
__BYTE_ORDER__ defined. Reported by Brendan Shanks. Fixes #2622.
|
||||
|
||||
Changes
|
||||
* Make it easier to define MBEDTLS_PARAM_FAILED as assert (which config.h
|
||||
suggests). #2671
|
||||
* Make `make clean` clean all programs always. Fixes #1862.
|
||||
|
||||
= mbed TLS 2.16.2 branch released 2019-06-11
|
||||
|
||||
Security
|
||||
* Make mbedtls_ecdh_get_params return an error if the second key
|
||||
belongs to a different group from the first. Before, if an application
|
||||
passed keys that belonged to different group, the first key's data was
|
||||
interpreted according to the second group, which could lead to either
|
||||
an error or a meaningless output from mbedtls_ecdh_get_params. In the
|
||||
latter case, this could expose at most 5 bits of the private key.
|
||||
|
||||
Bugfix
|
||||
* Server's RSA certificate in certs.c was SHA-1 signed. In the default
|
||||
mbedTLS configuration only SHA-2 signed certificates are accepted.
|
||||
This certificate is used in the demo server programs, which lead the
|
||||
client programs to fail at the peer's certificate verification
|
||||
due to an unacceptable hash signature. The certificate has been
|
||||
updated to one that is SHA-256 signed. Fix contributed by
|
||||
Illya Gerasymchuk.
|
||||
* Fix private key DER output in the key_app_writer example. File contents
|
||||
were shifted by one byte, creating an invalid ASN.1 tag. Fixed by
|
||||
Christian Walther in #2239.
|
||||
* Fix potential memory leak in X.509 self test. Found and fixed by
|
||||
Junhwan Park, #2106.
|
||||
* Reduce stack usage of hkdf tests. Fixes #2195.
|
||||
* Fix 1-byte buffer overflow in mbedtls_mpi_write_string() when
|
||||
used with negative inputs. Found by Guido Vranken in #2404. Credit to
|
||||
OSS-Fuzz.
|
||||
* Fix bugs in the AEAD test suite which would be exposed by ciphers which
|
||||
either used both encrypt and decrypt key schedules, or which perform padding.
|
||||
GCM and CCM were not affected. Fixed by Jack Lloyd.
|
||||
* Fix incorrect default port number in ssl_mail_client example's usage.
|
||||
Found and fixed by irwir. #2337
|
||||
* Add missing parentheses around parameters in the definition of the
|
||||
public macro MBEDTLS_X509_ID_FLAG. This could lead to invalid evaluation
|
||||
in case operators binding less strongly than subtraction were used
|
||||
for the parameter.
|
||||
* Add a check for MBEDTLS_X509_CRL_PARSE_C in ssl_server2, guarding the crl
|
||||
sni entry parameter. Reported by inestlerode in #560.
|
||||
* Add DER-encoded test CRTs to library/certs.c, allowing
|
||||
the example programs ssl_server2 and ssl_client2 to be run
|
||||
if MBEDTLS_FS_IO and MBEDTLS_PEM_PARSE_C are unset. Fixes #2254.
|
||||
* Fix missing bounds checks in X.509 parsing functions that could
|
||||
lead to successful parsing of ill-formed X.509 CRTs. Fixes #2437.
|
||||
* Fix multiple X.509 functions previously returning ASN.1 low-level error
|
||||
codes to always wrap these codes into X.509 high level error codes before
|
||||
returning. Fixes #2431.
|
||||
|
||||
Changes
|
||||
* Return from various debugging routines immediately if the
|
||||
provided SSL context is unset.
|
||||
* Remove dead code from bignum.c in the default configuration.
|
||||
Found by Coverity, reported and fixed by Peter Kolbus (Garmin). Fixes #2309.
|
||||
* Add test for minimal value of MBEDTLS_MPI_WINDOW_SIZE to all.sh.
|
||||
Contributed by Peter Kolbus (Garmin).
|
||||
* Change wording in the `mbedtls_ssl_conf_max_frag_len()`'s documentation to
|
||||
improve clarity. Fixes #2258.
|
||||
* Replace multiple uses of MD2 by SHA-256 in X.509 test suite. Fixes #821.
|
||||
|
||||
= mbed TLS 2.16.1 branch released 2019-03-19
|
||||
|
||||
Features
|
||||
* Add MBEDTLS_REMOVE_3DES_CIPHERSUITES to allow removing 3DES ciphersuites
|
||||
from the default list (enabled by default). See
|
||||
https://sweet32.info/SWEET32_CCS16.pdf.
|
||||
|
||||
Bugfix
|
||||
* Fix a compilation issue with mbedtls_ecp_restart_ctx not being defined
|
||||
when MBEDTLS_ECP_ALT is defined. Reported by jwhui. Fixes #2242.
|
||||
* Run the AD too long test only if MBEDTLS_CCM_ALT is not defined.
|
||||
Raised as a comment in #1996.
|
||||
* Reduce the stack consumption of mbedtls_mpi_fill_random() which could
|
||||
previously lead to a stack overflow on constrained targets.
|
||||
* Add `MBEDTLS_SELF_TEST` for the mbedtls_self_test functions
|
||||
in the header files, which missed the precompilation check. #971
|
||||
* Fix clobber list in MIPS assembly for large integer multiplication.
|
||||
Previously, this could lead to functionally incorrect assembly being
|
||||
produced by some optimizing compilers, showing up as failures in
|
||||
e.g. RSA or ECC signature operations. Reported in #1722, fix suggested
|
||||
by Aurelien Jarno and submitted by Jeffrey Martin.
|
||||
* Fix signed-to-unsigned integer conversion warning
|
||||
in X.509 module. Fixes #2212.
|
||||
* Reduce stack usage of `mpi_write_hlp()` by eliminating recursion.
|
||||
Fixes #2190.
|
||||
* Remove a duplicate #include in a sample program. Fixed by Masashi Honma #2326.
|
||||
* Remove the mbedtls namespacing from the header file, to fix a "file not found"
|
||||
build error. Fixed by Haijun Gu #2319.
|
||||
* Fix returning the value 1 when mbedtls_ecdsa_genkey failed.
|
||||
* Fix false failure in all.sh when backup files exist in include/mbedtls
|
||||
(e.g. config.h.bak). Fixed by Peter Kolbus (Garmin) #2407.
|
||||
* Ensure that unused bits are zero when writing ASN.1 bitstrings when using
|
||||
mbedtls_asn1_write_bitstring().
|
||||
* Fix issue when writing the named bitstrings in KeyUsage and NsCertType
|
||||
extensions in CSRs and CRTs that caused these bitstrings to not be encoded
|
||||
correctly as trailing zeroes were not accounted for as unused bits in the
|
||||
leading content octet. Fixes #1610.
|
||||
|
||||
Changes
|
||||
* Include configuration file in all header files that use configuration,
|
||||
instead of relying on other header files that they include.
|
||||
Inserted as an enhancement for #1371
|
||||
* Add support for alternative CSR headers, as used by Microsoft and defined
|
||||
in RFC 7468. Found by Michael Ernst. Fixes #767.
|
||||
* Fix configuration queries in ssl-opt.h. #2030
|
||||
* Ensure that ssl-opt.h can be run in OS X. #2029
|
||||
* Reduce the complexity of the timing tests. They were assuming more than the
|
||||
underlying OS actually guarantees.
|
||||
* Re-enable certain interoperability tests in ssl-opt.sh which had previously
|
||||
been disabled for lack of a sufficiently recent version of GnuTLS on the CI.
|
||||
* Ciphersuites based on 3DES now have the lowest priority by default when
|
||||
they are enabled.
|
||||
|
||||
= mbed TLS 2.16.0 branch released 2018-12-21
|
||||
|
||||
Features
|
||||
* Add a new config.h option of MBEDTLS_CHECK_PARAMS that enables validation
|
||||
of parameters in the API. This allows detection of obvious misuses of the
|
||||
API, such as passing NULL pointers. The API of existing functions hasn't
|
||||
changed, but requirements on parameters have been made more explicit in
|
||||
the documentation. See the corresponding API documentation for each
|
||||
function to see for which parameter values it is defined. This feature is
|
||||
disabled by default. See its API documentation in config.h for additional
|
||||
steps you have to take when enabling it.
|
||||
|
||||
API Changes
|
||||
* The following functions in the random generator modules have been
|
||||
deprecated and replaced as shown below. The new functions change
|
||||
the return type from void to int to allow returning error codes when
|
||||
using MBEDTLS_<MODULE>_ALT for the underlying AES or message digest
|
||||
primitive. Fixes #1798.
|
||||
mbedtls_ctr_drbg_update() -> mbedtls_ctr_drbg_update_ret()
|
||||
mbedtls_hmac_drbg_update() -> mbedtls_hmac_drbg_update_ret()
|
||||
* Extend ECDH interface to enable alternative implementations.
|
||||
* Deprecate error codes of the form MBEDTLS_ERR_xxx_INVALID_KEY_LENGTH for
|
||||
ARIA, CAMELLIA and Blowfish. These error codes will be replaced by
|
||||
the more generic per-module error codes MBEDTLS_ERR_xxx_BAD_INPUT_DATA.
|
||||
* Additional parameter validation checks have been added for the following
|
||||
modules - AES, ARIA, Blowfish, CAMELLIA, CCM, GCM, DHM, ECP, ECDSA, ECDH,
|
||||
ECJPAKE, SHA, Chacha20 and Poly1305, cipher, pk, RSA, and MPI.
|
||||
Where modules have had parameter validation added, existing parameter
|
||||
checks may have changed. Some modules, such as Chacha20 had existing
|
||||
parameter validation whereas other modules had little. This has now been
|
||||
changed so that the same level of validation is present in all modules, and
|
||||
that it is now optional with the MBEDTLS_CHECK_PARAMS flag which by default
|
||||
is off. That means that checks which were previously present by default
|
||||
will no longer be.
|
||||
|
||||
New deprecations
|
||||
* Deprecate mbedtls_ctr_drbg_update and mbedtls_hmac_drbg_update
|
||||
in favor of functions that can return an error code.
|
||||
|
||||
Bugfix
|
||||
* Fix for Clang, which was reporting a warning for the bignum.c inline
|
||||
assembly for AMD64 targets creating string literals greater than those
|
||||
permitted by the ISO C99 standard. Found by Aaron Jones. Fixes #482.
|
||||
* Fix runtime error in `mbedtls_platform_entropy_poll()` when run
|
||||
through qemu user emulation. Reported and fix suggested by randombit
|
||||
in #1212. Fixes #1212.
|
||||
* Fix an unsafe bounds check when restoring an SSL session from a ticket.
|
||||
This could lead to a buffer overflow, but only in case ticket authentication
|
||||
was broken. Reported and fix suggested by Guido Vranken in #659.
|
||||
* Add explicit integer to enumeration type casts to example program
|
||||
programs/pkey/gen_key which previously led to compilation failure
|
||||
on some toolchains. Reported by phoenixmcallister. Fixes #2170.
|
||||
* Fix double initialization of ECC hardware that made some accelerators
|
||||
hang.
|
||||
* Clarify documentation of mbedtls_ssl_set_own_cert() regarding the absence
|
||||
of check for certificate/key matching. Reported by Attila Molnar, #507.
|
||||
|
||||
= mbed TLS 2.14.1 branch released 2018-11-30
|
||||
|
||||
Security
|
||||
* Fix timing variations and memory access variations in RSA PKCS#1 v1.5
|
||||
decryption that could lead to a Bleichenbacher-style padding oracle
|
||||
attack. In TLS, this affects servers that accept ciphersuites based on
|
||||
RSA decryption (i.e. ciphersuites whose name contains RSA but not
|
||||
(EC)DH(E)). Discovered by Eyal Ronen (Weizmann Institute), Robert Gillham
|
||||
(University of Adelaide), Daniel Genkin (University of Michigan),
|
||||
Adi Shamir (Weizmann Institute), David Wong (NCC Group), and Yuval Yarom
|
||||
(University of Adelaide, Data61). The attack is described in more detail
|
||||
in the paper available here: http://cat.eyalro.net/cat.pdf CVE-2018-19608
|
||||
* In mbedtls_mpi_write_binary(), don't leak the exact size of the number
|
||||
via branching and memory access patterns. An attacker who could submit
|
||||
a plaintext for RSA PKCS#1 v1.5 decryption but only observe the timing
|
||||
of the decryption and not its result could nonetheless decrypt RSA
|
||||
plaintexts and forge RSA signatures. Other asymmetric algorithms may
|
||||
have been similarly vulnerable. Reported by Eyal Ronen, Robert Gillham,
|
||||
Daniel Genkin, Adi Shamir, David Wong and Yuval Yarom.
|
||||
* Wipe sensitive buffers on the stack in the CTR_DRBG and HMAC_DRBG
|
||||
modules.
|
||||
|
||||
API Changes
|
||||
* The new functions mbedtls_ctr_drbg_update_ret() and
|
||||
mbedtls_hmac_drbg_update_ret() are similar to mbedtls_ctr_drbg_update()
|
||||
and mbedtls_hmac_drbg_update() respectively, but the new functions
|
||||
report errors whereas the old functions return void. We recommend that
|
||||
applications use the new functions.
|
||||
|
||||
= mbed TLS 2.14.0 branch released 2018-11-19
|
||||
|
||||
Security
|
||||
* Fix overly strict DN comparison when looking for CRLs belonging to a
|
||||
particular CA. This previously led to ignoring CRLs when the CRL's issuer
|
||||
name and the CA's subject name differed in their string encoding (e.g.,
|
||||
one using PrintableString and the other UTF8String) or in the choice of
|
||||
upper and lower case. Reported by Henrik Andersson of Bosch GmbH in issue
|
||||
#1784.
|
||||
* Fix a flawed bounds check in server PSK hint parsing. In case the
|
||||
incoming message buffer was placed within the first 64KiB of address
|
||||
space and a PSK-(EC)DHE ciphersuite was used, this allowed an attacker
|
||||
to trigger a memory access up to 64KiB beyond the incoming message buffer,
|
||||
potentially leading to an application crash or information disclosure.
|
||||
* Fix mbedtls_mpi_is_prime() to use more rounds of probabilistic testing. The
|
||||
previous settings for the number of rounds made it practical for an
|
||||
adversary to construct non-primes that would be erroneously accepted as
|
||||
primes with high probability. This does not have an impact on the
|
||||
security of TLS, but can matter in other contexts with numbers chosen
|
||||
potentially by an adversary that should be prime and can be validated.
|
||||
For example, the number of rounds was enough to securely generate RSA key
|
||||
pairs or Diffie-Hellman parameters, but was insufficient to validate
|
||||
Diffie-Hellman parameters properly.
|
||||
See "Prime and Prejudice" by by Martin R. Albrecht and Jake Massimo and
|
||||
Kenneth G. Paterson and Juraj Somorovsky.
|
||||
|
||||
Features
|
||||
* Add support for temporarily suspending expensive ECC computations after
|
||||
some configurable amount of operations. This is intended to be used in
|
||||
constrained, single-threaded systems where ECC is time consuming and can
|
||||
block other operations until they complete. This is disabled by default,
|
||||
but can be enabled by MBEDTLS_ECP_RESTARTABLE at compile time and
|
||||
configured by mbedtls_ecp_set_max_ops() at runtime. It applies to the new
|
||||
xxx_restartable functions in ECP, ECDSA, PK and X.509 (CRL not supported
|
||||
yet), and to existing functions in ECDH and SSL (currently only
|
||||
implemented client-side, for ECDHE-ECDSA ciphersuites in TLS 1.2,
|
||||
including client authentication).
|
||||
* Add support for Arm CPU DSP extensions to accelerate asymmetric key
|
||||
operations. On CPUs where the extensions are available, they can accelerate
|
||||
MPI multiplications used in ECC and RSA cryptography. Contributed by
|
||||
Aurelien Jarno.
|
||||
* Extend RSASSA-PSS signature to allow a smaller salt size. Previously, PSS
|
||||
signature always used a salt with the same length as the hash, and returned
|
||||
an error if this was not possible. Now the salt size may be up to two bytes
|
||||
shorter. This allows the library to support all hash and signature sizes
|
||||
that comply with FIPS 186-4, including SHA-512 with a 1024-bit key.
|
||||
* Add support for 128-bit keys in CTR_DRBG. Note that using keys shorter
|
||||
than 256 bits limits the security of generated material to 128 bits.
|
||||
|
||||
API Changes
|
||||
* Add a common error code of `MBEDTLS_ERR_PLATFORM_FEATURE_UNSUPPORTED` for
|
||||
a feature that is not supported by underlying alternative
|
||||
implementations implementing cryptographic primitives. This is useful for
|
||||
hardware accelerators that don't implement all options or features.
|
||||
|
||||
New deprecations
|
||||
* All module specific errors following the form
|
||||
MBEDTLS_ERR_XXX_FEATURE_UNAVAILABLE that indicate a feature is not
|
||||
supported are deprecated and are now replaced by the new equivalent
|
||||
platform error.
|
||||
* All module specific generic hardware acceleration errors following the
|
||||
form MBEDTLS_ERR_XXX_HW_ACCEL_FAILED that are deprecated and are replaced
|
||||
by the equivalent plaform error.
|
||||
* Deprecate the function mbedtls_mpi_is_prime() in favor of
|
||||
mbedtls_mpi_is_prime_ext() which allows specifying the number of
|
||||
Miller-Rabin rounds.
|
||||
|
||||
Bugfix
|
||||
* Fix wrong order of freeing in programs/ssl/ssl_server2 example
|
||||
application leading to a memory leak in case both
|
||||
MBEDTLS_MEMORY_BUFFER_ALLOC_C and MBEDTLS_MEMORY_BACKTRACE are set.
|
||||
Fixes #2069.
|
||||
* Fix a bug in the update function for SSL ticket keys which previously
|
||||
invalidated keys of a lifetime of less than a 1s. Fixes #1968.
|
||||
* Fix failure in hmac_drbg in the benchmark sample application, when
|
||||
MBEDTLS_THREADING_C is defined. Found by TrinityTonic, #1095
|
||||
* Fix a bug in the record decryption routine ssl_decrypt_buf()
|
||||
which lead to accepting properly authenticated but improperly
|
||||
padded records in case of CBC ciphersuites using Encrypt-then-MAC.
|
||||
* Fix memory leak and freeing without initialization in the example
|
||||
program programs/x509/cert_write. Fixes #1422.
|
||||
* Ignore IV in mbedtls_cipher_set_iv() when the cipher mode is
|
||||
MBEDTLS_MODE_ECB. Found by ezdevelop. Fixes #1091.
|
||||
* Zeroize memory used for buffering or reassembling handshake messages
|
||||
after use.
|
||||
* Use `mbedtls_platform_zeroize()` instead of `memset()` for zeroization
|
||||
of sensitive data in the example programs aescrypt2 and crypt_and_hash.
|
||||
* Change the default string format used for various X.509 DN attributes to
|
||||
UTF8String. Previously, the use of the PrintableString format led to
|
||||
wildcards and non-ASCII characters being unusable in some DN attributes.
|
||||
Reported by raprepo in #1860 and by kevinpt in #468. Fix contributed by
|
||||
Thomas-Dee.
|
||||
* Fix compilation failure for configurations which use compile time
|
||||
replacements of standard calloc/free functions through the macros
|
||||
MBEDTLS_PLATFORM_CALLOC_MACRO and MBEDTLS_PLATFORM_FREE_MACRO.
|
||||
Reported by ole-de and ddhome2006. Fixes #882, #1642 and #1706.
|
||||
|
||||
Changes
|
||||
* Removed support for Yotta as a build tool.
|
||||
* Add tests for session resumption in DTLS.
|
||||
* Close a test gap in (D)TLS between the client side and the server side:
|
||||
test the handling of large packets and small packets on the client side
|
||||
in the same way as on the server side.
|
||||
* Change the dtls_client and dtls_server samples to work by default over
|
||||
IPv6 and optionally by a build option over IPv4.
|
||||
* Change the use of Windows threading to use Microsoft Visual C++ runtime
|
||||
calls, rather than Win32 API calls directly. This is necessary to avoid
|
||||
conflict with C runtime usage. Found and fixed by irwir.
|
||||
* Remember the string format of X.509 DN attributes when replicating
|
||||
X.509 DNs. Previously, DN attributes were always written in their default
|
||||
string format (mostly PrintableString), which could lead to CRTs being
|
||||
created which used PrintableStrings in the issuer field even though the
|
||||
signing CA used UTF8Strings in its subject field; while X.509 compliant,
|
||||
such CRTs were rejected in some applications, e.g. some versions of
|
||||
Firefox, curl and GnuTLS. Reported in #1033 by Moschn. Fix contributed by
|
||||
Thomas-Dee.
|
||||
* Improve documentation of mbedtls_ssl_get_verify_result().
|
||||
Fixes #517 reported by github-monoculture.
|
||||
* Add MBEDTLS_MPI_GEN_PRIME_FLAG_LOW_ERR flag to mbedtls_mpi_gen_prime() and
|
||||
use it to reduce error probability in RSA key generation to levels mandated
|
||||
by FIPS-186-4.
|
||||
|
||||
= mbed TLS 2.13.1 branch released 2018-09-06
|
||||
|
||||
API Changes
|
||||
* Extend the platform module with an abstraction mbedtls_platform_gmtime_r()
|
||||
whose implementation should behave as a thread-safe version of gmtime().
|
||||
This allows users to configure such an implementation at compile time when
|
||||
the target system cannot be deduced automatically, by setting the option
|
||||
MBEDTLS_PLATFORM_GMTIME_R_ALT. At this stage Mbed TLS is only able to
|
||||
automatically select implementations for Windows and POSIX C libraries.
|
||||
|
||||
Bugfix
|
||||
* Fix build failures on platforms where only gmtime() is available but
|
||||
neither gmtime_r() nor gmtime_s() are present. Fixes #1907.
|
||||
|
||||
= mbed TLS 2.13.0 branch released 2018-08-31
|
||||
|
||||
Security
|
||||
* Fix an issue in the X.509 module which could lead to a buffer overread
|
||||
during certificate extensions parsing. In case of receiving malformed
|
||||
input (extensions length field equal to 0), an illegal read of one byte
|
||||
beyond the input buffer is made. Found and analyzed by Nathan Crandall.
|
||||
|
||||
Features
|
||||
* Add support for fragmentation of outgoing DTLS handshake messages. This
|
||||
is controlled by the maximum fragment length as set locally or negotiated
|
||||
with the peer, as well as by a new per-connection MTU option, set using
|
||||
mbedtls_ssl_set_mtu().
|
||||
* Add support for auto-adjustment of MTU to a safe value during the
|
||||
handshake when flights do not get through (RFC 6347, section 4.1.1.1,
|
||||
last paragraph).
|
||||
* Add support for packing multiple records within a single datagram,
|
||||
enabled by default.
|
||||
* Add support for buffering out-of-order handshake messages in DTLS.
|
||||
The maximum amount of RAM used for this can be controlled by the
|
||||
compile-time constant MBEDTLS_SSL_DTLS_MAX_BUFFERING defined
|
||||
in mbedtls/config.h.
|
||||
|
||||
API Changes
|
||||
* Add function mbedtls_ssl_set_datagram_packing() to configure
|
||||
the use of datagram packing (enabled by default).
|
||||
|
||||
Bugfix
|
||||
* Fix a potential memory leak in mbedtls_ssl_setup() function. An allocation
|
||||
failure in the function could lead to other buffers being leaked.
|
||||
* Fixes an issue with MBEDTLS_CHACHAPOLY_C which would not compile if
|
||||
MBEDTLS_ARC4_C and MBEDTLS_CIPHER_NULL_CIPHER weren't also defined. #1890
|
||||
* Fix a memory leak in ecp_mul_comb() if ecp_precompute_comb() fails.
|
||||
Fix contributed by Espressif Systems.
|
||||
* Add ecc extensions only if an ecc based ciphersuite is used.
|
||||
This improves compliance to RFC 4492, and as a result, solves
|
||||
interoperability issues with BouncyCastle. Raised by milenamil in #1157.
|
||||
* Replace printf with mbedtls_printf in the ARIA module. Found by
|
||||
TrinityTonic in #1908.
|
||||
* Fix potential use-after-free in mbedtls_ssl_get_max_frag_len()
|
||||
and mbedtls_ssl_get_record_expansion() after a session reset. Fixes #1941.
|
||||
* Fix a bug that caused SSL/TLS clients to incorrectly abort the handshake
|
||||
with TLS versions 1.1 and earlier when the server requested authentication
|
||||
without providing a list of CAs. This was due to an overly strict bounds
|
||||
check in parsing the CertificateRequest message,
|
||||
introduced in Mbed TLS 2.12.0. Fixes #1954.
|
||||
* Fix a miscalculation of the maximum record expansion in
|
||||
mbedtls_ssl_get_record_expansion() in case of ChachaPoly ciphersuites,
|
||||
or CBC ciphersuites in (D)TLS versions 1.1 or higher. Fixes #1913, #1914.
|
||||
* Fix undefined shifts with negative values in certificates parsing
|
||||
(found by Catena cyber using oss-fuzz)
|
||||
* Fix memory leak and free without initialization in pk_encrypt
|
||||
and pk_decrypt example programs. Reported by Brace Stout. Fixes #1128.
|
||||
* Remove redundant else statement. Raised by irwir. Fixes #1776.
|
||||
|
||||
Changes
|
||||
* Copy headers preserving timestamps when doing a "make install".
|
||||
Contributed by xueruini.
|
||||
* Allow the forward declaration of public structs. Contributed by Dawid
|
||||
Drozd. Fixes #1215 raised by randombit.
|
||||
* Improve compatibility with some alternative CCM implementations by using
|
||||
CCM test vectors from RAM.
|
||||
* Add support for buffering of out-of-order handshake messages.
|
||||
* Add warnings to the documentation of the HKDF module to reduce the risk
|
||||
of misusing the mbedtls_hkdf_extract() and mbedtls_hkdf_expand()
|
||||
functions. Fixes #1775. Reported by Brian J. Murray.
|
||||
|
||||
= mbed TLS 2.12.0 branch released 2018-07-25
|
||||
|
||||
Security
|
||||
@@ -20,7 +745,7 @@ Security
|
||||
1.2, that allowed a local attacker, able to execute code on the local
|
||||
machine as well as manipulate network packets, to partially recover the
|
||||
plaintext of messages under some conditions by using a cache attack
|
||||
targetting an internal MD/SHA buffer. With TLS or if
|
||||
targeting an internal MD/SHA buffer. With TLS or if
|
||||
mbedtls_ssl_conf_dtls_badmac_limit() was used, the attack only worked if
|
||||
the same secret (for example a HTTP Cookie) has been repeatedly sent over
|
||||
connections manipulated by the attacker. Connections using GCM or CCM
|
||||
@@ -906,7 +1631,7 @@ Bugfix
|
||||
* Fix potential build failures related to the 'apidoc' target, introduced
|
||||
in the previous patch release. Found by Robert Scheck. #390 #391
|
||||
* Fix issue in Makefile that prevented building using armar. #386
|
||||
* Fix memory leak that occured only when ECJPAKE was enabled and ECDHE and
|
||||
* Fix memory leak that occurred only when ECJPAKE was enabled and ECDHE and
|
||||
ECDSA was disabled in config.h . The leak didn't occur by default.
|
||||
* Fix an issue that caused valid certificates to be rejected whenever an
|
||||
expired or not yet valid certificate was parsed before a valid certificate
|
||||
@@ -1148,7 +1873,7 @@ API Changes
|
||||
You now need to link to all of them if you use TLS for example.
|
||||
* All public identifiers moved to the mbedtls_* or MBEDTLS_* namespace.
|
||||
Some names have been further changed to make them more consistent.
|
||||
Migration helpers scripts/rename.pl and include/mbedlts/compat-1.3.h are
|
||||
Migration helpers scripts/rename.pl and include/mbedtls/compat-1.3.h are
|
||||
provided. Full list of renamings in scripts/data_files/rename-1.3-2.0.txt
|
||||
* Renamings of fields inside structures, not covered by the previous list:
|
||||
mbedtls_cipher_info_t.key_length -> key_bitlen
|
||||
@@ -1203,7 +1928,7 @@ API Changes
|
||||
* net_accept() gained new arguments for the size of the client_ip buffer.
|
||||
* In the threading layer, mbedtls_mutex_init() and mbedtls_mutex_free() now
|
||||
return void.
|
||||
* ecdsa_write_signature() gained an addtional md_alg argument and
|
||||
* ecdsa_write_signature() gained an additional md_alg argument and
|
||||
ecdsa_write_signature_det() was deprecated.
|
||||
* pk_sign() no longer accepts md_alg == POLARSSL_MD_NONE with ECDSA.
|
||||
* Last argument of x509_crt_check_key_usage() and
|
||||
@@ -2738,7 +3463,7 @@ XySSL ChangeLog
|
||||
not swapped on PadLock; also fixed compilation on older versions
|
||||
of gcc (bug reported by David Barrett)
|
||||
* Correctly handle the case in padlock_xcryptcbc() when input or
|
||||
ouput data is non-aligned by falling back to the software
|
||||
output data is non-aligned by falling back to the software
|
||||
implementation, as VIA Nehemiah cannot handle non-aligned buffers
|
||||
* Fixed a memory leak in x509parse_crt() which was reported by Greg
|
||||
Robson-Garth; some x509write.c fixes by Pascal Vizeli, thanks to
|
||||
|
Reference in New Issue
Block a user