Skip to content

Commit e046053

Browse files
committed
Clarify ChangeLog old versions and param validations
Clarified and made more coherent the parameter validation feature, it's scope and what has changed. Added version 2.14.1 to the history which was released on a branch.
1 parent b6cdf98 commit e046053

File tree

1 file changed

+42
-36
lines changed

1 file changed

+42
-36
lines changed

ChangeLog

Lines changed: 42 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,6 @@ mbed TLS ChangeLog (Sorted per branch, date)
22

33
= mbed TLS 2.xx.x branch released xxxx-xx-xx
44

5-
Security
6-
* Fix timing variations and memory access variations in RSA PKCS#1 v1.5
7-
decryption that could lead to a Bleichenbacher-style padding oracle
8-
attack. In TLS, this affects servers that accept ciphersuites based on
9-
RSA decryption (i.e. ciphersuites whose name contains RSA but not
10-
(EC)DH(E)). Discovered by Eyal Ronen (Weizmann Institute), Robert Gillham
11-
(University of Adelaide), Daniel Genkin (University of Michigan),
12-
Adi Shamir (Weizmann Institute), David Wong (NCC Group), and Yuval Yarom
13-
(University of Adelaide, Data61). The attack is described in more detail
14-
in the paper available here: http://cat.eyalro.net/cat.pdf CVE-2018-19608
15-
* In mbedtls_mpi_write_binary(), don't leak the exact size of the number
16-
via branching and memory access patterns. An attacker who could submit
17-
a plaintext for RSA PKCS#1 v1.5 decryption but only observe the timing
18-
of the decryption and not its result could nonetheless decrypt RSA
19-
plaintexts and forge RSA signatures. Other asymmetric algorithms may
20-
have been similarly vulnerable. Reported by Eyal Ronen, Robert Gillham,
21-
Daniel Genkin, Adi Shamir, David Wong and Yuval Yarom.
22-
* Wipe sensitive buffers on the stack in the CTR_DRBG and HMAC_DRBG
23-
modules.
24-
255
Features
266
* Add a new config.h option of MBEDTLS_CHECK_PARAMS that enables validation
277
of parameters in the API. This allows detection of obvious misuses of the
@@ -41,22 +21,19 @@ API Changes
4121
mbedtls_ctr_drbg_update() -> mbedtls_ctr_drbg_update_ret()
4222
mbedtls_hmac_drbg_update() -> mbedtls_hmac_drbg_update_ret()
4323
* Extend ECDH interface to enable alternative implementations.
44-
* Deprecate the ARIA error MBEDTLS_ERR_ARIA_INVALID_KEY_LENGTH
45-
in favour of a new generic error MBEDTLS_ERR_ARIA_BAD_INPUT_DATA.
46-
* Deprecate the CAMELLIA error MBEDTLS_ERR_CAMELLIA_INVALID_KEY_LENGTH
47-
in favour a new generic error MBEDTLS_ERR_CAMELLIA_BAD_INPUT_DATA.
48-
* Deprecate the Blowfish error MBEDTLS_ERR_BLOWFISH_INVALID_KEY_LENGTH
49-
in favour of a new generic error MBEDTLS_ERR_BLOWFISH_BAD_INPUT_DATA.
50-
* Add validation checks for input parameters to functions in the CCM module.
51-
* Add validation checks for input parameters to functions in the GCM module.
52-
* Add validation checks for input parameters to functions in the SHA-1
53-
module.
54-
* Add validation checks for input parameters to functions in the SHA-256
55-
module.
56-
* Add validation checks for input parameters to functions in the SHA-512
57-
module.
58-
* Add validation checks for input parameters to functions in the Cipher
59-
module.
24+
* Deprecate error codes of the form MBEDTLS_ERR_xxx_INVALID_KEY_LENGTH for
25+
ARIA, CAMELLIA and Blowfish. These error codes will be replaced by
26+
the more generic per-module error codes MBEDTLS_ERR_xxx_BAD_INPUT_DATA.
27+
* Additional parameter validation checks have been added for the following
28+
modules - AES, ARIA, Blowfish, CAMELLIA, CCM, GCM, DHM, ECP, ECDSA, ECDH,
29+
ECJPAKE, SHA, Chacha20 and Poly1305, cipher, pk, RSA, and MPI.
30+
Where modules have had parameter validation added, existing parameter
31+
checks may have changed. Some modules, such as Chacha20 had existing
32+
parameter validation whereas other modules had little. This has now been
33+
changed so that the same level of validation is present in all modules, and
34+
that it is now optional with the MBEDTLS_CHECK_PARAMS flag which by default
35+
is off. That means that checks which were previously present by default
36+
will no longer be.
6037

6138
New deprecations
6239
* Deprecate mbedtls_ctr_drbg_update and mbedtls_hmac_drbg_update
@@ -80,6 +57,35 @@ Bugfix
8057
* Clarify documentation of mbedtls_ssl_set_own_cert() regarding the absence
8158
of check for certificate/key matching. Reported by Attila Molnar, #507.
8259

60+
= mbed TLS 2.14.1 branch released 2018-11-30
61+
62+
Security
63+
* Fix timing variations and memory access variations in RSA PKCS#1 v1.5
64+
decryption that could lead to a Bleichenbacher-style padding oracle
65+
attack. In TLS, this affects servers that accept ciphersuites based on
66+
RSA decryption (i.e. ciphersuites whose name contains RSA but not
67+
(EC)DH(E)). Discovered by Eyal Ronen (Weizmann Institute), Robert Gillham
68+
(University of Adelaide), Daniel Genkin (University of Michigan),
69+
Adi Shamir (Weizmann Institute), David Wong (NCC Group), and Yuval Yarom
70+
(University of Adelaide, Data61). The attack is described in more detail
71+
in the paper available here: http://cat.eyalro.net/cat.pdf CVE-2018-19608
72+
* In mbedtls_mpi_write_binary(), don't leak the exact size of the number
73+
via branching and memory access patterns. An attacker who could submit
74+
a plaintext for RSA PKCS#1 v1.5 decryption but only observe the timing
75+
of the decryption and not its result could nonetheless decrypt RSA
76+
plaintexts and forge RSA signatures. Other asymmetric algorithms may
77+
have been similarly vulnerable. Reported by Eyal Ronen, Robert Gillham,
78+
Daniel Genkin, Adi Shamir, David Wong and Yuval Yarom.
79+
* Wipe sensitive buffers on the stack in the CTR_DRBG and HMAC_DRBG
80+
modules.
81+
82+
API Changes
83+
* The new functions mbedtls_ctr_drbg_update_ret() and
84+
mbedtls_hmac_drbg_update_ret() are similar to mbedtls_ctr_drbg_update()
85+
and mbedtls_hmac_drbg_update() respectively, but the new functions
86+
report errors whereas the old functions return void. We recommend that
87+
applications use the new functions.
88+
8389
= mbed TLS 2.14.0 branch released 2018-11-19
8490

8591
Security

0 commit comments

Comments
 (0)