xref: /freebsd/crypto/openssl/NEWS.md (revision a27328ea392714f2bc106f138191fd465157aafb)
1NEWS
2====
3
4This file gives a brief overview of the major changes between each OpenSSL
5release. For more details please read the CHANGES file.
6
7OpenSSL Releases
8----------------
9
10 - [OpenSSL 3.0](#openssl-30)
11 - [OpenSSL 1.1.1](#openssl-111)
12 - [OpenSSL 1.1.0](#openssl-110)
13 - [OpenSSL 1.0.2](#openssl-102)
14 - [OpenSSL 1.0.1](#openssl-101)
15 - [OpenSSL 1.0.0](#openssl-100)
16 - [OpenSSL 0.9.x](#openssl-09x)
17
18OpenSSL 3.0
19-----------
20
21### Major changes between OpenSSL 3.0.15 and OpenSSL 3.0.16 [11 Feb 2025]
22
23OpenSSL 3.0.16 is a security patch release. The most severe CVE fixed in this
24release is Low.
25
26This release incorporates the following bug fixes and mitigations:
27
28  * Fixed timing side-channel in ECDSA signature computation.
29    ([CVE-2024-13176])
30
31  * Fixed possible OOB memory access with invalid low-level GF(2^m) elliptic
32    curve parameters.
33    ([CVE-2024-9143])
34
35### Major changes between OpenSSL 3.0.14 and OpenSSL 3.0.15 [3 Sep 2024]
36
37OpenSSL 3.0.15 is a security patch release. The most severe CVE fixed in this
38release is Moderate.
39
40This release incorporates the following bug fixes and mitigations:
41
42  * Fixed possible denial of service in X.509 name checks
43    ([CVE-2024-6119])
44
45  * Fixed possible buffer overread in SSL_select_next_proto()
46    ([CVE-2024-5535])
47
48### Major changes between OpenSSL 3.0.13 and OpenSSL 3.0.14 [4 Jun 2024]
49
50  * Fixed potential use after free after SSL_free_buffers() is called
51    ([CVE-2024-4741])
52
53  * Fixed an issue where checking excessively long DSA keys or parameters may
54    be very slow
55    ([CVE-2024-4603])
56
57  * Fixed unbounded memory growth with session handling in TLSv1.3
58    ([CVE-2024-2511])
59
60### Major changes between OpenSSL 3.0.12 and OpenSSL 3.0.13 [30 Jan 2024]
61
62  * Fixed PKCS12 Decoding crashes
63    ([CVE-2024-0727])
64  * Fixed Excessive time spent checking invalid RSA public keys
65    ([CVE-2023-6237])
66  * Fixed POLY1305 MAC implementation corrupting vector registers on PowerPC
67    CPUs which support PowerISA 2.07
68    ([CVE-2023-6129])
69  * Fix excessive time spent in DH check / generation with large Q parameter
70    value ([CVE-2023-5678])
71
72### Major changes between OpenSSL 3.0.11 and OpenSSL 3.0.12 [24 Oct 2023]
73
74  * Mitigate incorrect resize handling for symmetric cipher keys and IVs.
75    ([CVE-2023-5363])
76
77### Major changes between OpenSSL 3.0.10 and OpenSSL 3.0.11 [19 Sep 2023]
78
79  * Fix POLY1305 MAC implementation corrupting XMM registers on Windows
80    ([CVE-2023-4807])
81
82### Major changes between OpenSSL 3.0.9 and OpenSSL 3.0.10 [1 Aug 2023]
83
84  * Fix excessive time spent checking DH q parameter value ([CVE-2023-3817])
85  * Fix DH_check() excessive time with over sized modulus ([CVE-2023-3446])
86  * Do not ignore empty associated data entries with AES-SIV ([CVE-2023-2975])
87
88### Major changes between OpenSSL 3.0.8 and OpenSSL 3.0.9 [30 May 2023]
89
90  * Mitigate for very slow `OBJ_obj2txt()` performance with gigantic OBJECT
91    IDENTIFIER sub-identities.  ([CVE-2023-2650])
92  * Fixed buffer overread in AES-XTS decryption on ARM 64 bit platforms
93    ([CVE-2023-1255])
94  * Fixed documentation of X509_VERIFY_PARAM_add0_policy() ([CVE-2023-0466])
95  * Fixed handling of invalid certificate policies in leaf certificates
96    ([CVE-2023-0465])
97  * Limited the number of nodes created in a policy tree ([CVE-2023-0464])
98
99### Major changes between OpenSSL 3.0.7 and OpenSSL 3.0.8 [7 Feb 2023]
100
101  * Fixed NULL dereference during PKCS7 data verification ([CVE-2023-0401])
102  * Fixed X.400 address type confusion in X.509 GeneralName ([CVE-2023-0286])
103  * Fixed NULL dereference validating DSA public key ([CVE-2023-0217])
104  * Fixed Invalid pointer dereference in d2i_PKCS7 functions ([CVE-2023-0216])
105  * Fixed Use-after-free following BIO_new_NDEF ([CVE-2023-0215])
106  * Fixed Double free after calling PEM_read_bio_ex ([CVE-2022-4450])
107  * Fixed Timing Oracle in RSA Decryption ([CVE-2022-4304])
108  * Fixed X.509 Name Constraints Read Buffer Overflow ([CVE-2022-4203])
109  * Fixed X.509 Policy Constraints Double Locking ([CVE-2022-3996])
110
111### Major changes between OpenSSL 3.0.6 and OpenSSL 3.0.7 [1 Nov 2022]
112
113  * Added RIPEMD160 to the default provider.
114  * Fixed regressions introduced in 3.0.6 version.
115  * Fixed two buffer overflows in punycode decoding functions.
116    ([CVE-2022-3786]) and ([CVE-2022-3602])
117
118### Major changes between OpenSSL 3.0.5 and OpenSSL 3.0.6 [11 Oct 2022]
119
120  * Fix for custom ciphers to prevent accidental use of NULL encryption
121    ([CVE-2022-3358])
122
123### Major changes between OpenSSL 3.0.4 and OpenSSL 3.0.5 [5 Jul 2022]
124
125  * Fixed heap memory corruption with RSA private key operation
126    ([CVE-2022-2274])
127  * Fixed AES OCB failure to encrypt some bytes on 32-bit x86 platforms
128    ([CVE-2022-2097])
129
130### Major changes between OpenSSL 3.0.3 and OpenSSL 3.0.4 [21 Jun 2022]
131
132  * Fixed additional bugs in the c_rehash script which was not properly
133    sanitising shell metacharacters to prevent command injection
134    ([CVE-2022-2068])
135
136### Major changes between OpenSSL 3.0.2 and OpenSSL 3.0.3 [3 May 2022]
137
138  * Fixed a bug in the c_rehash script which was not properly sanitising shell
139    metacharacters to prevent command injection ([CVE-2022-1292])
140  * Fixed a bug in the function `OCSP_basic_verify` that verifies the signer
141    certificate on an OCSP response ([CVE-2022-1343])
142  * Fixed a bug where the RC4-MD5 ciphersuite incorrectly used the
143    AAD data as the MAC key ([CVE-2022-1434])
144  * Fix a bug in the OPENSSL_LH_flush() function that breaks reuse of the memory
145    occuppied by the removed hash table entries ([CVE-2022-1473])
146
147### Major changes between OpenSSL 3.0.1 and OpenSSL 3.0.2 [15 Mar 2022]
148
149  * Fixed a bug in the BN_mod_sqrt() function that can cause it to loop forever
150    for non-prime moduli ([CVE-2022-0778])
151
152### Major changes between OpenSSL 3.0.0 and OpenSSL 3.0.1 [14 Dec 2021]
153
154  * Fixed invalid handling of X509_verify_cert() internal errors in libssl
155    ([CVE-2021-4044])
156  * Allow fetching an operation from the provider that owns an unexportable key
157    as a fallback if that is still allowed by the property query.
158
159### Major changes between OpenSSL 1.1.1 and OpenSSL 3.0.0 [7 sep 2021]
160
161  * Enhanced 'openssl list' with many new options.
162  * Added migration guide to man7.
163  * Implemented support for fully "pluggable" TLSv1.3 groups.
164  * Added suport for Kernel TLS (KTLS).
165  * Changed the license to the Apache License v2.0.
166  * Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2,
167    RC4, RC5, and DES to the legacy provider.
168  * Moved the EVP digests MD2, MD4, MDC2, WHIRLPOOL and RIPEMD-160 to the legacy
169    provider.
170  * Added convenience functions for generating asymmetric key pairs.
171  * Deprecated the `OCSP_REQ_CTX` type and functions.
172  * Deprecated the `EC_KEY` and `EC_KEY_METHOD` types and functions.
173  * Deprecated the `RSA` and `RSA_METHOD` types and functions.
174  * Deprecated the `DSA` and `DSA_METHOD` types and functions.
175  * Deprecated the `DH` and `DH_METHOD` types and functions.
176  * Deprecated the `ERR_load_` functions.
177  * Remove the `RAND_DRBG` API.
178  * Deprecated the `ENGINE` API.
179  * Added `OSSL_LIB_CTX`, a libcrypto library context.
180  * Added various `_ex` functions to the OpenSSL API that support using
181    a non-default `OSSL_LIB_CTX`.
182  * Interactive mode is removed from the 'openssl' program.
183  * The X25519, X448, Ed25519, Ed448, SHAKE128 and SHAKE256 algorithms are
184    included in the FIPS provider.
185  * X509 certificates signed using SHA1 are no longer allowed at security
186    level 1 or higher. The default security level for TLS is 1, so
187    certificates signed using SHA1 are by default no longer trusted to
188    authenticate servers or clients.
189  * enable-crypto-mdebug and enable-crypto-mdebug-backtrace were mostly
190    disabled; the project uses address sanitize/leak-detect instead.
191  * Added a Certificate Management Protocol (CMP, RFC 4210) implementation
192    also covering CRMF (RFC 4211) and HTTP transfer (RFC 6712).
193    It is part of the crypto lib and adds a 'cmp' app with a demo configuration.
194    All widely used CMP features are supported for both clients and servers.
195  * Added a proper HTTP client supporting GET with optional redirection, POST,
196    arbitrary request and response content types, TLS, persistent connections,
197    connections via HTTP(s) proxies, connections and exchange via user-defined
198    BIOs (allowing implicit connections), and timeout checks.
199  * Added util/check-format.pl for checking adherence to the coding guidelines.
200  * Added OSSL_ENCODER, a generic encoder API.
201  * Added OSSL_DECODER, a generic decoder API.
202  * Added OSSL_PARAM_BLD, an easier to use API to OSSL_PARAM.
203  * Added error raising macros, ERR_raise() and ERR_raise_data().
204  * Deprecated ERR_put_error(), ERR_get_error_line(), ERR_get_error_line_data(),
205    ERR_peek_error_line_data(), ERR_peek_last_error_line_data() and
206    ERR_func_error_string().
207  * Added OSSL_PROVIDER_available(), to check provider availibility.
208  * Added 'openssl mac' that uses the EVP_MAC API.
209  * Added 'openssl kdf' that uses the EVP_KDF API.
210  * Add OPENSSL_info() and 'openssl info' to get built-in data.
211  * Add support for enabling instrumentation through trace and debug
212    output.
213  * Changed our version number scheme and set the next major release to
214    3.0.0
215  * Added EVP_MAC, an EVP layer MAC API, and a generic EVP_PKEY to EVP_MAC
216    bridge.  Supported MACs are: BLAKE2, CMAC, GMAC, HMAC, KMAC, POLY1305
217    and SIPHASH.
218  * Removed the heartbeat message in DTLS feature.
219  * Added EVP_KDF, an EVP layer KDF and PRF API, and a generic EVP_PKEY to
220    EVP_KDF bridge.  Supported KDFs are: HKDF, KBKDF, KRB5 KDF, PBKDF2,
221    PKCS12 KDF, SCRYPT, SSH KDF, SSKDF, TLS1 PRF, X9.42 KDF and X9.63 KDF.
222  * All of the low-level MD2, MD4, MD5, MDC2, RIPEMD160, SHA1, SHA224,
223    SHA256, SHA384, SHA512 and Whirlpool digest functions have been
224    deprecated.
225  * All of the low-level AES, Blowfish, Camellia, CAST, DES, IDEA, RC2,
226    RC4, RC5 and SEED cipher functions have been deprecated.
227  * All of the low-level DH, DSA, ECDH, ECDSA and RSA public key functions
228    have been deprecated.
229  * SSL 3, TLS 1.0, TLS 1.1, and DTLS 1.0 only work at security level 0,
230    except when RSA key exchange without SHA1 is used.
231  * Added providers, a new pluggability concept that will replace the
232    ENGINE API and ENGINE implementations.
233
234OpenSSL 1.1.1
235-------------
236
237### Major changes between OpenSSL 1.1.1k and OpenSSL 1.1.1l [24 Aug 2021]
238
239  * Fixed an SM2 Decryption Buffer Overflow ([CVE-2021-3711])
240  * Fixed various read buffer overruns processing ASN.1 strings ([CVE-2021-3712])
241
242### Major changes between OpenSSL 1.1.1j and OpenSSL 1.1.1k [25 Mar 2021]
243
244  * Fixed a problem with verifying a certificate chain when using the
245    X509_V_FLAG_X509_STRICT flag ([CVE-2021-3450])
246  * Fixed an issue where an OpenSSL TLS server may crash if sent a maliciously
247    crafted renegotiation ClientHello message from a client ([CVE-2021-3449])
248
249### Major changes between OpenSSL 1.1.1i and OpenSSL 1.1.1j [16 Feb 2021]
250
251  * Fixed a NULL pointer deref in the X509_issuer_and_serial_hash()
252    function ([CVE-2021-23841])
253  * Fixed the RSA_padding_check_SSLv23() function and the RSA_SSLV23_PADDING
254    padding mode to correctly check for rollback attacks
255  * Fixed an overflow in the EVP_CipherUpdate, EVP_EncryptUpdate and
256    EVP_DecryptUpdate functions ([CVE-2021-23840])
257  * Fixed SRP_Calc_client_key so that it runs in constant time
258
259### Major changes between OpenSSL 1.1.1h and OpenSSL 1.1.1i [8 Dec 2020]
260
261  * Fixed NULL pointer deref in GENERAL_NAME_cmp ([CVE-2020-1971])
262
263### Major changes between OpenSSL 1.1.1g and OpenSSL 1.1.1h [22 Sep 2020]
264
265  * Disallow explicit curve parameters in verifications chains when
266    X509_V_FLAG_X509_STRICT is used
267  * Enable 'MinProtocol' and 'MaxProtocol' to configure both TLS and DTLS
268    contexts
269  * Oracle Developer Studio will start reporting deprecation warnings
270
271### Major changes between OpenSSL 1.1.1f and OpenSSL 1.1.1g [21 Apr 2020]
272
273  * Fixed segmentation fault in SSL_check_chain() ([CVE-2020-1967])
274
275### Major changes between OpenSSL 1.1.1e and OpenSSL 1.1.1f [31 Mar 2020]
276
277  * Revert the unexpected EOF reporting via SSL_ERROR_SSL
278
279### Major changes between OpenSSL 1.1.1d and OpenSSL 1.1.1e [17 Mar 2020]
280
281  * Fixed an overflow bug in the x64_64 Montgomery squaring procedure
282    used in exponentiation with 512-bit moduli ([CVE-2019-1551])
283
284### Major changes between OpenSSL 1.1.1c and OpenSSL 1.1.1d [10 Sep 2019]
285
286  * Fixed a fork protection issue ([CVE-2019-1549])
287  * Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey
288    ([CVE-2019-1563])
289  * For built-in EC curves, ensure an EC_GROUP built from the curve name is
290    used even when parsing explicit parameters
291  * Compute ECC cofactors if not provided during EC_GROUP construction
292    ([CVE-2019-1547])
293  * Early start up entropy quality from the DEVRANDOM seed source has been
294    improved for older Linux systems
295  * Correct the extended master secret constant on EBCDIC systems
296  * Use Windows installation paths in the mingw builds ([CVE-2019-1552])
297  * Changed DH_check to accept parameters with order q and 2q subgroups
298  * Significantly reduce secure memory usage by the randomness pools
299  * Revert the DEVRANDOM_WAIT feature for Linux systems
300
301### Major changes between OpenSSL 1.1.1b and OpenSSL 1.1.1c [28 May 2019]
302
303  * Prevent over long nonces in ChaCha20-Poly1305 ([CVE-2019-1543])
304
305### Major changes between OpenSSL 1.1.1a and OpenSSL 1.1.1b [26 Feb 2019]
306
307  * Change the info callback signals for the start and end of a post-handshake
308    message exchange in TLSv1.3.
309  * Fix a bug in DTLS over SCTP. This breaks interoperability with older
310    versions of OpenSSL like OpenSSL 1.1.0 and OpenSSL 1.0.2.
311
312### Major changes between OpenSSL 1.1.1 and OpenSSL 1.1.1a [20 Nov 2018]
313
314  * Timing vulnerability in DSA signature generation ([CVE-2018-0734])
315  * Timing vulnerability in ECDSA signature generation ([CVE-2018-0735])
316
317### Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.1 [11 Sep 2018]
318
319  * Support for TLSv1.3 added. The TLSv1.3 implementation includes:
320    * Fully compliant implementation of RFC8446 (TLSv1.3) on by default
321    * Early data (0-RTT)
322    * Post-handshake authentication and key update
323    * Middlebox Compatibility Mode
324    * TLSv1.3 PSKs
325    * Support for all five RFC8446 ciphersuites
326    * RSA-PSS signature algorithms (backported to TLSv1.2)
327    * Configurable session ticket support
328    * Stateless server support
329    * Rewrite of the packet construction code for "safer" packet handling
330    * Rewrite of the extension handling code
331    For further important information, see the [TLS1.3 page](
332    https://wiki.openssl.org/index.php/TLS1.3) in the OpenSSL Wiki.
333
334  * Complete rewrite of the OpenSSL random number generator to introduce the
335    following capabilities
336      * The default RAND method now utilizes an AES-CTR DRBG according to
337        NIST standard SP 800-90Ar1.
338      * Support for multiple DRBG instances with seed chaining.
339      * There is a public and private DRBG instance.
340      * The DRBG instances are fork-safe.
341      * Keep all global DRBG instances on the secure heap if it is enabled.
342      * The public and private DRBG instance are per thread for lock free
343      operation
344  * Support for various new cryptographic algorithms including:
345      * SHA3
346      * SHA512/224 and SHA512/256
347      * EdDSA (both Ed25519 and Ed448) including X509 and TLS support
348      * X448 (adding to the existing X25519 support in 1.1.0)
349      * Multi-prime RSA
350      * SM2
351      * SM3
352      * SM4
353      * SipHash
354      * ARIA (including TLS support)
355  * Significant Side-Channel attack security improvements
356  * Add a new ClientHello callback to provide the ability to adjust the SSL
357  object at an early stage.
358  * Add 'Maximum Fragment Length' TLS extension negotiation and support
359  * A new STORE module, which implements a uniform and URI based reader of
360   stores that can contain keys, certificates, CRLs and numerous other
361  objects.
362  * Move the display of configuration data to configdata.pm.
363  * Allow GNU style "make variables" to be used with Configure.
364  * Claim the namespaces OSSL and OPENSSL, represented as symbol prefixes
365  * Rewrite of devcrypto engine
366
367OpenSSL 1.1.0
368-------------
369
370### Major changes between OpenSSL 1.1.0k and OpenSSL 1.1.0l [10 Sep 2019]
371
372  * Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey
373    ([CVE-2019-1563])
374  * For built-in EC curves, ensure an EC_GROUP built from the curve name is
375    used even when parsing explicit parameters
376  * Compute ECC cofactors if not provided during EC_GROUP construction
377    ([CVE-2019-1547])
378  * Use Windows installation paths in the mingw builds ([CVE-2019-1552])
379
380### Major changes between OpenSSL 1.1.0j and OpenSSL 1.1.0k [28 May 2019]
381
382  * Prevent over long nonces in ChaCha20-Poly1305 ([CVE-2019-1543])
383
384### Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.0j [20 Nov 2018]
385
386  * Timing vulnerability in DSA signature generation ([CVE-2018-0734])
387  * Timing vulnerability in ECDSA signature generation ([CVE-2018-0735])
388
389### Major changes between OpenSSL 1.1.0h and OpenSSL 1.1.0i [14 Aug 2018]
390
391  * Client DoS due to large DH parameter ([CVE-2018-0732])
392  * Cache timing vulnerability in RSA Key Generation ([CVE-2018-0737])
393
394### Major changes between OpenSSL 1.1.0g and OpenSSL 1.1.0h [27 Mar 2018]
395
396  * Constructed ASN.1 types with a recursive definition could exceed the
397    stack ([CVE-2018-0739])
398  * Incorrect CRYPTO_memcmp on HP-UX PA-RISC ([CVE-2018-0733])
399  * rsaz_1024_mul_avx2 overflow bug on x86_64 ([CVE-2017-3738])
400
401### Major changes between OpenSSL 1.1.0f and OpenSSL 1.1.0g [2 Nov 2017]
402
403  * bn_sqrx8x_internal carry bug on x86_64 ([CVE-2017-3736])
404  * Malformed X.509 IPAddressFamily could cause OOB read ([CVE-2017-3735])
405
406### Major changes between OpenSSL 1.1.0e and OpenSSL 1.1.0f [25 May 2017]
407
408  * config now recognises 64-bit mingw and chooses mingw64 instead of mingw
409
410### Major changes between OpenSSL 1.1.0d and OpenSSL 1.1.0e [16 Feb 2017]
411
412  * Encrypt-Then-Mac renegotiation crash ([CVE-2017-3733])
413
414### Major changes between OpenSSL 1.1.0c and OpenSSL 1.1.0d [26 Jan 2017]
415
416  * Truncated packet could crash via OOB read ([CVE-2017-3731])
417  * Bad (EC)DHE parameters cause a client crash ([CVE-2017-3730])
418  * BN_mod_exp may produce incorrect results on x86_64 ([CVE-2017-3732])
419
420### Major changes between OpenSSL 1.1.0b and OpenSSL 1.1.0c [10 Nov 2016]
421
422  * ChaCha20/Poly1305 heap-buffer-overflow ([CVE-2016-7054])
423  * CMS Null dereference ([CVE-2016-7053])
424  * Montgomery multiplication may produce incorrect results ([CVE-2016-7055])
425
426### Major changes between OpenSSL 1.1.0a and OpenSSL 1.1.0b [26 Sep 2016]
427
428  * Fix Use After Free for large message sizes ([CVE-2016-6309])
429
430### Major changes between OpenSSL 1.1.0 and OpenSSL 1.1.0a [22 Sep 2016]
431
432  * OCSP Status Request extension unbounded memory growth ([CVE-2016-6304])
433  * SSL_peek() hang on empty record ([CVE-2016-6305])
434  * Excessive allocation of memory in tls_get_message_header()
435    ([CVE-2016-6307])
436  * Excessive allocation of memory in dtls1_preprocess_fragment()
437    ([CVE-2016-6308])
438
439### Major changes between OpenSSL 1.0.2h and OpenSSL 1.1.0 [25 Aug 2016]
440
441  * Copyright text was shrunk to a boilerplate that points to the license
442  * "shared" builds are now the default when possible
443  * Added support for "pipelining"
444  * Added the AFALG engine
445  * New threading API implemented
446  * Support for ChaCha20 and Poly1305 added to libcrypto and libssl
447  * Support for extended master secret
448  * CCM ciphersuites
449  * Reworked test suite, now based on perl, Test::Harness and Test::More
450  * *Most* libcrypto and libssl public structures were made opaque,
451    including:
452    BIGNUM and associated types, EC_KEY and EC_KEY_METHOD,
453    DH and DH_METHOD, DSA and DSA_METHOD, RSA and RSA_METHOD,
454    BIO and BIO_METHOD, EVP_MD_CTX, EVP_MD, EVP_CIPHER_CTX,
455    EVP_CIPHER, EVP_PKEY and associated types, HMAC_CTX,
456    X509, X509_CRL, X509_OBJECT, X509_STORE_CTX, X509_STORE,
457    X509_LOOKUP, X509_LOOKUP_METHOD
458  * libssl internal structures made opaque
459  * SSLv2 support removed
460  * Kerberos ciphersuite support removed
461  * RC4 removed from DEFAULT ciphersuites in libssl
462  * 40 and 56 bit cipher support removed from libssl
463  * All public header files moved to include/openssl, no more symlinking
464  * SSL/TLS state machine, version negotiation and record layer rewritten
465  * EC revision: now operations use new EC_KEY_METHOD.
466  * Support for OCB mode added to libcrypto
467  * Support for asynchronous crypto operations added to libcrypto and libssl
468  * Deprecated interfaces can now be disabled at build time either
469    relative to the latest release via the "no-deprecated" Configure
470    argument, or via the "--api=1.1.0|1.0.0|0.9.8" option.
471  * Application software can be compiled with -DOPENSSL_API_COMPAT=version
472    to ensure that features deprecated in that version are not exposed.
473  * Support for RFC6698/RFC7671 DANE TLSA peer authentication
474  * Change of Configure to use --prefix as the main installation
475    directory location rather than --openssldir.  The latter becomes
476    the directory for certs, private key and openssl.cnf exclusively.
477  * Reworked BIO networking library, with full support for IPv6.
478  * New "unified" build system
479  * New security levels
480  * Support for scrypt algorithm
481  * Support for X25519
482  * Extended SSL_CONF support using configuration files
483  * KDF algorithm support. Implement TLS PRF as a KDF.
484  * Support for Certificate Transparency
485  * HKDF support.
486
487OpenSSL 1.0.2
488-------------
489
490### Major changes between OpenSSL 1.0.2s and OpenSSL 1.0.2t [10 Sep 2019]
491
492  * Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey
493    ([CVE-2019-1563])
494  * For built-in EC curves, ensure an EC_GROUP built from the curve name is
495    used even when parsing explicit parameters
496  * Compute ECC cofactors if not provided during EC_GROUP construction
497    ([CVE-2019-1547])
498  * Document issue with installation paths in diverse Windows builds
499    ([CVE-2019-1552])
500
501### Major changes between OpenSSL 1.0.2r and OpenSSL 1.0.2s [28 May 2019]
502
503  * None
504
505### Major changes between OpenSSL 1.0.2q and OpenSSL 1.0.2r [26 Feb 2019]
506
507  * 0-byte record padding oracle ([CVE-2019-1559])
508
509### Major changes between OpenSSL 1.0.2p and OpenSSL 1.0.2q [20 Nov 2018]
510
511  * Microarchitecture timing vulnerability in ECC scalar multiplication ([CVE-2018-5407])
512  * Timing vulnerability in DSA signature generation ([CVE-2018-0734])
513
514### Major changes between OpenSSL 1.0.2o and OpenSSL 1.0.2p [14 Aug 2018]
515
516  * Client DoS due to large DH parameter ([CVE-2018-0732])
517  * Cache timing vulnerability in RSA Key Generation ([CVE-2018-0737])
518
519### Major changes between OpenSSL 1.0.2n and OpenSSL 1.0.2o [27 Mar 2018]
520
521  * Constructed ASN.1 types with a recursive definition could exceed the
522    stack ([CVE-2018-0739])
523
524### Major changes between OpenSSL 1.0.2m and OpenSSL 1.0.2n [7 Dec 2017]
525
526  * Read/write after SSL object in error state ([CVE-2017-3737])
527  * rsaz_1024_mul_avx2 overflow bug on x86_64 ([CVE-2017-3738])
528
529### Major changes between OpenSSL 1.0.2l and OpenSSL 1.0.2m [2 Nov 2017]
530
531  * bn_sqrx8x_internal carry bug on x86_64 ([CVE-2017-3736])
532  * Malformed X.509 IPAddressFamily could cause OOB read ([CVE-2017-3735])
533
534### Major changes between OpenSSL 1.0.2k and OpenSSL 1.0.2l [25 May 2017]
535
536  * config now recognises 64-bit mingw and chooses mingw64 instead of mingw
537
538### Major changes between OpenSSL 1.0.2j and OpenSSL 1.0.2k [26 Jan 2017]
539
540  * Truncated packet could crash via OOB read ([CVE-2017-3731])
541  * BN_mod_exp may produce incorrect results on x86_64 ([CVE-2017-3732])
542  * Montgomery multiplication may produce incorrect results ([CVE-2016-7055])
543
544### Major changes between OpenSSL 1.0.2i and OpenSSL 1.0.2j [26 Sep 2016]
545
546  * Missing CRL sanity check ([CVE-2016-7052])
547
548### Major changes between OpenSSL 1.0.2h and OpenSSL 1.0.2i [22 Sep 2016]
549
550  * OCSP Status Request extension unbounded memory growth ([CVE-2016-6304])
551  * SWEET32 Mitigation ([CVE-2016-2183])
552  * OOB write in MDC2_Update() ([CVE-2016-6303])
553  * Malformed SHA512 ticket DoS ([CVE-2016-6302])
554  * OOB write in BN_bn2dec() ([CVE-2016-2182])
555  * OOB read in TS_OBJ_print_bio() ([CVE-2016-2180])
556  * Pointer arithmetic undefined behaviour ([CVE-2016-2177])
557  * Constant time flag not preserved in DSA signing ([CVE-2016-2178])
558  * DTLS buffered message DoS ([CVE-2016-2179])
559  * DTLS replay protection DoS ([CVE-2016-2181])
560  * Certificate message OOB reads ([CVE-2016-6306])
561
562### Major changes between OpenSSL 1.0.2g and OpenSSL 1.0.2h [3 May 2016]
563
564  * Prevent padding oracle in AES-NI CBC MAC check ([CVE-2016-2107])
565  * Fix EVP_EncodeUpdate overflow ([CVE-2016-2105])
566  * Fix EVP_EncryptUpdate overflow ([CVE-2016-2106])
567  * Prevent ASN.1 BIO excessive memory allocation ([CVE-2016-2109])
568  * EBCDIC overread ([CVE-2016-2176])
569  * Modify behavior of ALPN to invoke callback after SNI/servername
570    callback, such that updates to the SSL_CTX affect ALPN.
571  * Remove LOW from the DEFAULT cipher list.  This removes singles DES from
572    the default.
573  * Only remove the SSLv2 methods with the no-ssl2-method option.
574
575### Major changes between OpenSSL 1.0.2f and OpenSSL 1.0.2g [1 Mar 2016]
576
577  * Disable weak ciphers in SSLv3 and up in default builds of OpenSSL.
578  * Disable SSLv2 default build, default negotiation and weak ciphers
579    ([CVE-2016-0800])
580  * Fix a double-free in DSA code ([CVE-2016-0705])
581  * Disable SRP fake user seed to address a server memory leak
582    ([CVE-2016-0798])
583  * Fix BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
584    ([CVE-2016-0797])
585  * Fix memory issues in BIO_*printf functions ([CVE-2016-0799])
586  * Fix side channel attack on modular exponentiation ([CVE-2016-0702])
587
588### Major changes between OpenSSL 1.0.2e and OpenSSL 1.0.2f [28 Jan 2016]
589
590  * DH small subgroups ([CVE-2016-0701])
591  * SSLv2 doesn't block disabled ciphers ([CVE-2015-3197])
592
593### Major changes between OpenSSL 1.0.2d and OpenSSL 1.0.2e [3 Dec 2015]
594
595  * BN_mod_exp may produce incorrect results on x86_64 ([CVE-2015-3193])
596  * Certificate verify crash with missing PSS parameter ([CVE-2015-3194])
597  * X509_ATTRIBUTE memory leak ([CVE-2015-3195])
598  * Rewrite EVP_DecodeUpdate (base64 decoding) to fix several bugs
599  * In DSA_generate_parameters_ex, if the provided seed is too short,
600    return an error
601
602### Major changes between OpenSSL 1.0.2c and OpenSSL 1.0.2d [9 Jul 2015]
603
604  * Alternate chains certificate forgery ([CVE-2015-1793])
605  * Race condition handling PSK identify hint ([CVE-2015-3196])
606
607### Major changes between OpenSSL 1.0.2b and OpenSSL 1.0.2c [12 Jun 2015]
608
609  * Fix HMAC ABI incompatibility
610
611### Major changes between OpenSSL 1.0.2a and OpenSSL 1.0.2b [11 Jun 2015]
612
613  * Malformed ECParameters causes infinite loop ([CVE-2015-1788])
614  * Exploitable out-of-bounds read in X509_cmp_time ([CVE-2015-1789])
615  * PKCS7 crash with missing EnvelopedContent ([CVE-2015-1790])
616  * CMS verify infinite loop with unknown hash function ([CVE-2015-1792])
617  * Race condition handling NewSessionTicket ([CVE-2015-1791])
618
619### Major changes between OpenSSL 1.0.2 and OpenSSL 1.0.2a [19 Mar 2015]
620
621  * OpenSSL 1.0.2 ClientHello sigalgs DoS fix ([CVE-2015-0291])
622  * Multiblock corrupted pointer fix ([CVE-2015-0290])
623  * Segmentation fault in DTLSv1_listen fix ([CVE-2015-0207])
624  * Segmentation fault in ASN1_TYPE_cmp fix ([CVE-2015-0286])
625  * Segmentation fault for invalid PSS parameters fix ([CVE-2015-0208])
626  * ASN.1 structure reuse memory corruption fix ([CVE-2015-0287])
627  * PKCS7 NULL pointer dereferences fix ([CVE-2015-0289])
628  * DoS via reachable assert in SSLv2 servers fix ([CVE-2015-0293])
629  * Empty CKE with client auth and DHE fix ([CVE-2015-1787])
630  * Handshake with unseeded PRNG fix ([CVE-2015-0285])
631  * Use After Free following d2i_ECPrivatekey error fix ([CVE-2015-0209])
632  * X509_to_X509_REQ NULL pointer deref fix ([CVE-2015-0288])
633  * Removed the export ciphers from the DEFAULT ciphers
634
635### Major changes between OpenSSL 1.0.1l and OpenSSL 1.0.2 [22 Jan 2015]
636
637  * Suite B support for TLS 1.2 and DTLS 1.2
638  * Support for DTLS 1.2
639  * TLS automatic EC curve selection.
640  * API to set TLS supported signature algorithms and curves
641  * SSL_CONF configuration API.
642  * TLS Brainpool support.
643  * ALPN support.
644  * CMS support for RSA-PSS, RSA-OAEP, ECDH and X9.42 DH.
645
646OpenSSL 1.0.1
647-------------
648
649### Major changes between OpenSSL 1.0.1t and OpenSSL 1.0.1u [22 Sep 2016]
650
651  * OCSP Status Request extension unbounded memory growth ([CVE-2016-6304])
652  * SWEET32 Mitigation ([CVE-2016-2183])
653  * OOB write in MDC2_Update() ([CVE-2016-6303])
654  * Malformed SHA512 ticket DoS ([CVE-2016-6302])
655  * OOB write in BN_bn2dec() ([CVE-2016-2182])
656  * OOB read in TS_OBJ_print_bio() ([CVE-2016-2180])
657  * Pointer arithmetic undefined behaviour ([CVE-2016-2177])
658  * Constant time flag not preserved in DSA signing ([CVE-2016-2178])
659  * DTLS buffered message DoS ([CVE-2016-2179])
660  * DTLS replay protection DoS ([CVE-2016-2181])
661  * Certificate message OOB reads ([CVE-2016-6306])
662
663### Major changes between OpenSSL 1.0.1s and OpenSSL 1.0.1t [3 May 2016]
664
665  * Prevent padding oracle in AES-NI CBC MAC check ([CVE-2016-2107])
666  * Fix EVP_EncodeUpdate overflow ([CVE-2016-2105])
667  * Fix EVP_EncryptUpdate overflow ([CVE-2016-2106])
668  * Prevent ASN.1 BIO excessive memory allocation ([CVE-2016-2109])
669  * EBCDIC overread ([CVE-2016-2176])
670  * Modify behavior of ALPN to invoke callback after SNI/servername
671    callback, such that updates to the SSL_CTX affect ALPN.
672  * Remove LOW from the DEFAULT cipher list.  This removes singles DES from
673    the default.
674  * Only remove the SSLv2 methods with the no-ssl2-method option.
675
676### Major changes between OpenSSL 1.0.1r and OpenSSL 1.0.1s [1 Mar 2016]
677
678  * Disable weak ciphers in SSLv3 and up in default builds of OpenSSL.
679  * Disable SSLv2 default build, default negotiation and weak ciphers
680    ([CVE-2016-0800])
681  * Fix a double-free in DSA code ([CVE-2016-0705])
682  * Disable SRP fake user seed to address a server memory leak
683    ([CVE-2016-0798])
684  * Fix BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
685    ([CVE-2016-0797])
686  * Fix memory issues in BIO_*printf functions ([CVE-2016-0799])
687  * Fix side channel attack on modular exponentiation ([CVE-2016-0702])
688
689### Major changes between OpenSSL 1.0.1q and OpenSSL 1.0.1r [28 Jan 2016]
690
691  * Protection for DH small subgroup attacks
692  * SSLv2 doesn't block disabled ciphers ([CVE-2015-3197])
693
694### Major changes between OpenSSL 1.0.1p and OpenSSL 1.0.1q [3 Dec 2015]
695
696  * Certificate verify crash with missing PSS parameter ([CVE-2015-3194])
697  * X509_ATTRIBUTE memory leak ([CVE-2015-3195])
698  * Rewrite EVP_DecodeUpdate (base64 decoding) to fix several bugs
699  * In DSA_generate_parameters_ex, if the provided seed is too short,
700    return an error
701
702### Major changes between OpenSSL 1.0.1o and OpenSSL 1.0.1p [9 Jul 2015]
703
704  * Alternate chains certificate forgery ([CVE-2015-1793])
705  * Race condition handling PSK identify hint ([CVE-2015-3196])
706
707### Major changes between OpenSSL 1.0.1n and OpenSSL 1.0.1o [12 Jun 2015]
708
709  * Fix HMAC ABI incompatibility
710
711### Major changes between OpenSSL 1.0.1m and OpenSSL 1.0.1n [11 Jun 2015]
712
713  * Malformed ECParameters causes infinite loop ([CVE-2015-1788])
714  * Exploitable out-of-bounds read in X509_cmp_time ([CVE-2015-1789])
715  * PKCS7 crash with missing EnvelopedContent ([CVE-2015-1790])
716  * CMS verify infinite loop with unknown hash function ([CVE-2015-1792])
717  * Race condition handling NewSessionTicket ([CVE-2015-1791])
718
719### Major changes between OpenSSL 1.0.1l and OpenSSL 1.0.1m [19 Mar 2015]
720
721  * Segmentation fault in ASN1_TYPE_cmp fix ([CVE-2015-0286])
722  * ASN.1 structure reuse memory corruption fix ([CVE-2015-0287])
723  * PKCS7 NULL pointer dereferences fix ([CVE-2015-0289])
724  * DoS via reachable assert in SSLv2 servers fix ([CVE-2015-0293])
725  * Use After Free following d2i_ECPrivatekey error fix ([CVE-2015-0209])
726  * X509_to_X509_REQ NULL pointer deref fix ([CVE-2015-0288])
727  * Removed the export ciphers from the DEFAULT ciphers
728
729### Major changes between OpenSSL 1.0.1k and OpenSSL 1.0.1l [15 Jan 2015]
730
731  * Build fixes for the Windows and OpenVMS platforms
732
733### Major changes between OpenSSL 1.0.1j and OpenSSL 1.0.1k [8 Jan 2015]
734
735  * Fix for [CVE-2014-3571]
736  * Fix for [CVE-2015-0206]
737  * Fix for [CVE-2014-3569]
738  * Fix for [CVE-2014-3572]
739  * Fix for [CVE-2015-0204]
740  * Fix for [CVE-2015-0205]
741  * Fix for [CVE-2014-8275]
742  * Fix for [CVE-2014-3570]
743
744### Major changes between OpenSSL 1.0.1i and OpenSSL 1.0.1j [15 Oct 2014]
745
746  * Fix for [CVE-2014-3513]
747  * Fix for [CVE-2014-3567]
748  * Mitigation for [CVE-2014-3566] (SSL protocol vulnerability)
749  * Fix for [CVE-2014-3568]
750
751### Major changes between OpenSSL 1.0.1h and OpenSSL 1.0.1i [6 Aug 2014]
752
753  * Fix for [CVE-2014-3512]
754  * Fix for [CVE-2014-3511]
755  * Fix for [CVE-2014-3510]
756  * Fix for [CVE-2014-3507]
757  * Fix for [CVE-2014-3506]
758  * Fix for [CVE-2014-3505]
759  * Fix for [CVE-2014-3509]
760  * Fix for [CVE-2014-5139]
761  * Fix for [CVE-2014-3508]
762
763### Major changes between OpenSSL 1.0.1g and OpenSSL 1.0.1h [5 Jun 2014]
764
765  * Fix for [CVE-2014-0224]
766  * Fix for [CVE-2014-0221]
767  * Fix for [CVE-2014-0198]
768  * Fix for [CVE-2014-0195]
769  * Fix for [CVE-2014-3470]
770  * Fix for [CVE-2010-5298]
771
772### Major changes between OpenSSL 1.0.1f and OpenSSL 1.0.1g [7 Apr 2014]
773
774  * Fix for [CVE-2014-0160]
775  * Add TLS padding extension workaround for broken servers.
776  * Fix for [CVE-2014-0076]
777
778### Major changes between OpenSSL 1.0.1e and OpenSSL 1.0.1f [6 Jan 2014]
779
780  * Don't include gmt_unix_time in TLS server and client random values
781  * Fix for TLS record tampering bug ([CVE-2013-4353])
782  * Fix for TLS version checking bug ([CVE-2013-6449])
783  * Fix for DTLS retransmission bug ([CVE-2013-6450])
784
785### Major changes between OpenSSL 1.0.1d and OpenSSL 1.0.1e [11 Feb 2013]
786
787  * Corrected fix for ([CVE-2013-0169])
788
789### Major changes between OpenSSL 1.0.1c and OpenSSL 1.0.1d [4 Feb 2013]
790
791  * Fix renegotiation in TLS 1.1, 1.2 by using the correct TLS version.
792  * Include the fips configuration module.
793  * Fix OCSP bad key DoS attack ([CVE-2013-0166])
794  * Fix for SSL/TLS/DTLS CBC plaintext recovery attack ([CVE-2013-0169])
795  * Fix for TLS AESNI record handling flaw ([CVE-2012-2686])
796
797### Major changes between OpenSSL 1.0.1b and OpenSSL 1.0.1c [10 May 2012]
798
799  * Fix TLS/DTLS record length checking bug ([CVE-2012-2333])
800  * Don't attempt to use non-FIPS composite ciphers in FIPS mode.
801
802### Major changes between OpenSSL 1.0.1a and OpenSSL 1.0.1b [26 Apr 2012]
803
804  * Fix compilation error on non-x86 platforms.
805  * Make FIPS capable OpenSSL ciphers work in non-FIPS mode.
806  * Fix SSL_OP_NO_TLSv1_1 clash with SSL_OP_ALL in OpenSSL 1.0.0
807
808### Major changes between OpenSSL 1.0.1 and OpenSSL 1.0.1a [19 Apr 2012]
809
810  * Fix for ASN1 overflow bug ([CVE-2012-2110])
811  * Workarounds for some servers that hang on long client hellos.
812  * Fix SEGV in AES code.
813
814### Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.1 [14 Mar 2012]
815
816  * TLS/DTLS heartbeat support.
817  * SCTP support.
818  * RFC 5705 TLS key material exporter.
819  * RFC 5764 DTLS-SRTP negotiation.
820  * Next Protocol Negotiation.
821  * PSS signatures in certificates, requests and CRLs.
822  * Support for password based recipient info for CMS.
823  * Support TLS v1.2 and TLS v1.1.
824  * Preliminary FIPS capability for unvalidated 2.0 FIPS module.
825  * SRP support.
826
827OpenSSL 1.0.0
828-------------
829
830### Major changes between OpenSSL 1.0.0s and OpenSSL 1.0.0t [3 Dec 2015]
831
832  * X509_ATTRIBUTE memory leak (([CVE-2015-3195]))
833  * Race condition handling PSK identify hint ([CVE-2015-3196])
834
835### Major changes between OpenSSL 1.0.0r and OpenSSL 1.0.0s [11 Jun 2015]
836
837  * Malformed ECParameters causes infinite loop ([CVE-2015-1788])
838  * Exploitable out-of-bounds read in X509_cmp_time ([CVE-2015-1789])
839  * PKCS7 crash with missing EnvelopedContent ([CVE-2015-1790])
840  * CMS verify infinite loop with unknown hash function ([CVE-2015-1792])
841  * Race condition handling NewSessionTicket ([CVE-2015-1791])
842
843### Major changes between OpenSSL 1.0.0q and OpenSSL 1.0.0r [19 Mar 2015]
844
845  * Segmentation fault in ASN1_TYPE_cmp fix ([CVE-2015-0286])
846  * ASN.1 structure reuse memory corruption fix ([CVE-2015-0287])
847  * PKCS7 NULL pointer dereferences fix ([CVE-2015-0289])
848  * DoS via reachable assert in SSLv2 servers fix ([CVE-2015-0293])
849  * Use After Free following d2i_ECPrivatekey error fix ([CVE-2015-0209])
850  * X509_to_X509_REQ NULL pointer deref fix ([CVE-2015-0288])
851  * Removed the export ciphers from the DEFAULT ciphers
852
853### Major changes between OpenSSL 1.0.0p and OpenSSL 1.0.0q [15 Jan 2015]
854
855  * Build fixes for the Windows and OpenVMS platforms
856
857### Major changes between OpenSSL 1.0.0o and OpenSSL 1.0.0p [8 Jan 2015]
858
859  * Fix for [CVE-2014-3571]
860  * Fix for [CVE-2015-0206]
861  * Fix for [CVE-2014-3569]
862  * Fix for [CVE-2014-3572]
863  * Fix for [CVE-2015-0204]
864  * Fix for [CVE-2015-0205]
865  * Fix for [CVE-2014-8275]
866  * Fix for [CVE-2014-3570]
867
868### Major changes between OpenSSL 1.0.0n and OpenSSL 1.0.0o [15 Oct 2014]
869
870  * Fix for [CVE-2014-3513]
871  * Fix for [CVE-2014-3567]
872  * Mitigation for [CVE-2014-3566] (SSL protocol vulnerability)
873  * Fix for [CVE-2014-3568]
874
875### Major changes between OpenSSL 1.0.0m and OpenSSL 1.0.0n [6 Aug 2014]
876
877  * Fix for [CVE-2014-3510]
878  * Fix for [CVE-2014-3507]
879  * Fix for [CVE-2014-3506]
880  * Fix for [CVE-2014-3505]
881  * Fix for [CVE-2014-3509]
882  * Fix for [CVE-2014-3508]
883
884  Known issues in OpenSSL 1.0.0m:
885
886  * EAP-FAST and other applications using tls_session_secret_cb
887    won't resume sessions. Fixed in 1.0.0n-dev
888  * Compilation failure of s3_pkt.c on some platforms due to missing
889    `<limits.h>` include. Fixed in 1.0.0n-dev
890
891### Major changes between OpenSSL 1.0.0l and OpenSSL 1.0.0m [5 Jun 2014]
892
893  * Fix for [CVE-2014-0224]
894  * Fix for [CVE-2014-0221]
895  * Fix for [CVE-2014-0198]
896  * Fix for [CVE-2014-0195]
897  * Fix for [CVE-2014-3470]
898  * Fix for [CVE-2014-0076]
899  * Fix for [CVE-2010-5298]
900
901### Major changes between OpenSSL 1.0.0k and OpenSSL 1.0.0l [6 Jan 2014]
902
903  * Fix for DTLS retransmission bug ([CVE-2013-6450])
904
905### Major changes between OpenSSL 1.0.0j and OpenSSL 1.0.0k [5 Feb 2013]
906
907  * Fix for SSL/TLS/DTLS CBC plaintext recovery attack ([CVE-2013-0169])
908  * Fix OCSP bad key DoS attack ([CVE-2013-0166])
909
910### Major changes between OpenSSL 1.0.0i and OpenSSL 1.0.0j [10 May 2012]
911
912  * Fix DTLS record length checking bug ([CVE-2012-2333])
913
914### Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.0i [19 Apr 2012]
915
916  * Fix for ASN1 overflow bug ([CVE-2012-2110])
917
918### Major changes between OpenSSL 1.0.0g and OpenSSL 1.0.0h [12 Mar 2012]
919
920  * Fix for CMS/PKCS#7 MMA ([CVE-2012-0884])
921  * Corrected fix for ([CVE-2011-4619])
922  * Various DTLS fixes.
923
924### Major changes between OpenSSL 1.0.0f and OpenSSL 1.0.0g [18 Jan 2012]
925
926  * Fix for DTLS DoS issue ([CVE-2012-0050])
927
928### Major changes between OpenSSL 1.0.0e and OpenSSL 1.0.0f [4 Jan 2012]
929
930  * Fix for DTLS plaintext recovery attack ([CVE-2011-4108])
931  * Clear block padding bytes of SSL 3.0 records ([CVE-2011-4576])
932  * Only allow one SGC handshake restart for SSL/TLS ([CVE-2011-4619])
933  * Check parameters are not NULL in GOST ENGINE ([CVE-2012-0027])
934  * Check for malformed RFC3779 data ([CVE-2011-4577])
935
936### Major changes between OpenSSL 1.0.0d and OpenSSL 1.0.0e [6 Sep 2011]
937
938  * Fix for CRL vulnerability issue ([CVE-2011-3207])
939  * Fix for ECDH crashes ([CVE-2011-3210])
940  * Protection against EC timing attacks.
941  * Support ECDH ciphersuites for certificates using SHA2 algorithms.
942  * Various DTLS fixes.
943
944### Major changes between OpenSSL 1.0.0c and OpenSSL 1.0.0d [8 Feb 2011]
945
946  * Fix for security issue ([CVE-2011-0014])
947
948### Major changes between OpenSSL 1.0.0b and OpenSSL 1.0.0c [2 Dec 2010]
949
950  * Fix for security issue ([CVE-2010-4180])
951  * Fix for ([CVE-2010-4252])
952  * Fix mishandling of absent EC point format extension.
953  * Fix various platform compilation issues.
954  * Corrected fix for security issue ([CVE-2010-3864]).
955
956### Major changes between OpenSSL 1.0.0a and OpenSSL 1.0.0b [16 Nov 2010]
957
958  * Fix for security issue ([CVE-2010-3864]).
959  * Fix for ([CVE-2010-2939])
960  * Fix WIN32 build system for GOST ENGINE.
961
962### Major changes between OpenSSL 1.0.0 and OpenSSL 1.0.0a [1 Jun 2010]
963
964  * Fix for security issue ([CVE-2010-1633]).
965  * GOST MAC and CFB fixes.
966
967### Major changes between OpenSSL 0.9.8n and OpenSSL 1.0.0 [29 Mar 2010]
968
969  * RFC3280 path validation: sufficient to process PKITS tests.
970  * Integrated support for PVK files and keyblobs.
971  * Change default private key format to PKCS#8.
972  * CMS support: able to process all examples in RFC4134
973  * Streaming ASN1 encode support for PKCS#7 and CMS.
974  * Multiple signer and signer add support for PKCS#7 and CMS.
975  * ASN1 printing support.
976  * Whirlpool hash algorithm added.
977  * RFC3161 time stamp support.
978  * New generalised public key API supporting ENGINE based algorithms.
979  * New generalised public key API utilities.
980  * New ENGINE supporting GOST algorithms.
981  * SSL/TLS GOST ciphersuite support.
982  * PKCS#7 and CMS GOST support.
983  * RFC4279 PSK ciphersuite support.
984  * Supported points format extension for ECC ciphersuites.
985  * ecdsa-with-SHA224/256/384/512 signature types.
986  * dsa-with-SHA224 and dsa-with-SHA256 signature types.
987  * Opaque PRF Input TLS extension support.
988  * Updated time routines to avoid OS limitations.
989
990OpenSSL 0.9.x
991-------------
992
993### Major changes between OpenSSL 0.9.8m and OpenSSL 0.9.8n [24 Mar 2010]
994
995  * CFB cipher definition fixes.
996  * Fix security issues [CVE-2010-0740] and [CVE-2010-0433].
997
998### Major changes between OpenSSL 0.9.8l and OpenSSL 0.9.8m [25 Feb 2010]
999
1000  * Cipher definition fixes.
1001  * Workaround for slow RAND_poll() on some WIN32 versions.
1002  * Remove MD2 from algorithm tables.
1003  * SPKAC handling fixes.
1004  * Support for RFC5746 TLS renegotiation extension.
1005  * Compression memory leak fixed.
1006  * Compression session resumption fixed.
1007  * Ticket and SNI coexistence fixes.
1008  * Many fixes to DTLS handling.
1009
1010### Major changes between OpenSSL 0.9.8k and OpenSSL 0.9.8l [5 Nov 2009]
1011
1012  * Temporary work around for [CVE-2009-3555]: disable renegotiation.
1013
1014### Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k [25 Mar 2009]
1015
1016  * Fix various build issues.
1017  * Fix security issues [CVE-2009-0590], [CVE-2009-0591], [CVE-2009-0789]
1018
1019### Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j [7 Jan 2009]
1020
1021  * Fix security issue ([CVE-2008-5077])
1022  * Merge FIPS 140-2 branch code.
1023
1024### Major changes between OpenSSL 0.9.8g and OpenSSL 0.9.8h [28 May 2008]
1025
1026  * CryptoAPI ENGINE support.
1027  * Various precautionary measures.
1028  * Fix for bugs affecting certificate request creation.
1029  * Support for local machine keyset attribute in PKCS#12 files.
1030
1031### Major changes between OpenSSL 0.9.8f and OpenSSL 0.9.8g [19 Oct 2007]
1032
1033  * Backport of CMS functionality to 0.9.8.
1034  * Fixes for bugs introduced with 0.9.8f.
1035
1036### Major changes between OpenSSL 0.9.8e and OpenSSL 0.9.8f [11 Oct 2007]
1037
1038  * Add gcc 4.2 support.
1039  * Add support for AES and SSE2 assembly language optimization
1040    for VC++ build.
1041  * Support for RFC4507bis and server name extensions if explicitly
1042    selected at compile time.
1043  * DTLS improvements.
1044  * RFC4507bis support.
1045  * TLS Extensions support.
1046
1047### Major changes between OpenSSL 0.9.8d and OpenSSL 0.9.8e [23 Feb 2007]
1048
1049  * Various ciphersuite selection fixes.
1050  * RFC3779 support.
1051
1052### Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d [28 Sep 2006]
1053
1054  * Introduce limits to prevent malicious key DoS  ([CVE-2006-2940])
1055  * Fix security issues [CVE-2006-2937], [CVE-2006-3737], [CVE-2006-4343]
1056  * Changes to ciphersuite selection algorithm
1057
1058### Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c [5 Sep 2006]
1059
1060  * Fix Daniel Bleichenbacher forged signature attack, [CVE-2006-4339]
1061  * New cipher Camellia
1062
1063### Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b [4 May 2006]
1064
1065  * Cipher string fixes.
1066  * Fixes for VC++ 2005.
1067  * Updated ECC cipher suite support.
1068  * New functions EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free().
1069  * Zlib compression usage fixes.
1070  * Built in dynamic engine compilation support on Win32.
1071  * Fixes auto dynamic engine loading in Win32.
1072
1073### Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a [11 Oct 2005]
1074
1075  * Fix potential SSL 2.0 rollback ([CVE-2005-2969])
1076  * Extended Windows CE support
1077
1078### Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8 [5 Jul 2005]
1079
1080  * Major work on the BIGNUM library for higher efficiency and to
1081    make operations more streamlined and less contradictory.  This
1082    is the result of a major audit of the BIGNUM library.
1083  * Addition of BIGNUM functions for fields GF(2^m) and NIST
1084    curves, to support the Elliptic Crypto functions.
1085  * Major work on Elliptic Crypto; ECDH and ECDSA added, including
1086    the use through EVP, X509 and ENGINE.
1087  * New ASN.1 mini-compiler that's usable through the OpenSSL
1088    configuration file.
1089  * Added support for ASN.1 indefinite length constructed encoding.
1090  * New PKCS#12 'medium level' API to manipulate PKCS#12 files.
1091  * Complete rework of shared library construction and linking
1092    programs with shared or static libraries, through a separate
1093    Makefile.shared.
1094  * Rework of the passing of parameters from one Makefile to another.
1095  * Changed ENGINE framework to load dynamic engine modules
1096    automatically from specifically given directories.
1097  * New structure and ASN.1 functions for CertificatePair.
1098  * Changed the ZLIB compression method to be stateful.
1099  * Changed the key-generation and primality testing "progress"
1100    mechanism to take a structure that contains the ticker
1101    function and an argument.
1102  * New engine module: GMP (performs private key exponentiation).
1103  * New engine module: VIA PadLOck ACE extension in VIA C3
1104    Nehemiah processors.
1105  * Added support for IPv6 addresses in certificate extensions.
1106    See RFC 1884, section 2.2.
1107  * Added support for certificate policy mappings, policy
1108    constraints and name constraints.
1109  * Added support for multi-valued AVAs in the OpenSSL
1110    configuration file.
1111  * Added support for multiple certificates with the same subject
1112    in the 'openssl ca' index file.
1113  * Make it possible to create self-signed certificates using
1114    'openssl ca -selfsign'.
1115  * Make it possible to generate a serial number file with
1116    'openssl ca -create_serial'.
1117  * New binary search functions with extended functionality.
1118  * New BUF functions.
1119  * New STORE structure and library to provide an interface to all
1120    sorts of data repositories.  Supports storage of public and
1121    private keys, certificates, CRLs, numbers and arbitrary blobs.
1122    This library is unfortunately unfinished and unused within
1123    OpenSSL.
1124  * New control functions for the error stack.
1125  * Changed the PKCS#7 library to support one-pass S/MIME
1126    processing.
1127  * Added the possibility to compile without old deprecated
1128    functionality with the OPENSSL_NO_DEPRECATED macro or the
1129    'no-deprecated' argument to the config and Configure scripts.
1130  * Constification of all ASN.1 conversion functions, and other
1131    affected functions.
1132  * Improved platform support for PowerPC.
1133  * New FIPS 180-2 algorithms (SHA-224, -256, -384 and -512).
1134  * New X509_VERIFY_PARAM structure to support parameterisation
1135  of X.509 path validation.
1136  * Major overhaul of RC4 performance on Intel P4, IA-64 and
1137    AMD64.
1138  * Changed the Configure script to have some algorithms disabled
1139    by default.  Those can be explicitly enabled with the new
1140    argument form 'enable-xxx'.
1141  * Change the default digest in 'openssl' commands from MD5 to
1142    SHA-1.
1143  * Added support for DTLS.
1144  * New BIGNUM blinding.
1145  * Added support for the RSA-PSS encryption scheme
1146  * Added support for the RSA X.931 padding.
1147  * Added support for BSD sockets on NetWare.
1148  * Added support for files larger than 2GB.
1149  * Added initial support for Win64.
1150  * Added alternate pkg-config files.
1151
1152### Major changes between OpenSSL 0.9.7l and OpenSSL 0.9.7m [23 Feb 2007]
1153
1154  * FIPS 1.1.1 module linking.
1155  * Various ciphersuite selection fixes.
1156
1157### Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l [28 Sep 2006]
1158
1159  * Introduce limits to prevent malicious key DoS  ([CVE-2006-2940])
1160  * Fix security issues [CVE-2006-2937], [CVE-2006-3737], [CVE-2006-4343]
1161
1162### Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k [5 Sep 2006]
1163
1164  * Fix Daniel Bleichenbacher forged signature attack, [CVE-2006-4339]
1165
1166### Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j [4 May 2006]
1167
1168  * Visual C++ 2005 fixes.
1169  * Update Windows build system for FIPS.
1170
1171### Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i [14 Oct 2005]
1172
1173  * Give EVP_MAX_MD_SIZE its old value, except for a FIPS build.
1174
1175### Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h [11 Oct 2005]
1176
1177  * Fix SSL 2.0 Rollback ([CVE-2005-2969])
1178  * Allow use of fixed-length exponent on DSA signing
1179  * Default fixed-window RSA, DSA, DH private-key operations
1180
1181### Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g [11 Apr 2005]
1182
1183  * More compilation issues fixed.
1184  * Adaptation to more modern Kerberos API.
1185  * Enhanced or corrected configuration for Solaris64, Mingw and Cygwin.
1186  * Enhanced x86_64 assembler BIGNUM module.
1187  * More constification.
1188  * Added processing of proxy certificates (RFC 3820).
1189
1190### Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f [22 Mar 2005]
1191
1192  * Several compilation issues fixed.
1193  * Many memory allocation failure checks added.
1194  * Improved comparison of X509 Name type.
1195  * Mandatory basic checks on certificates.
1196  * Performance improvements.
1197
1198### Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e [25 Oct 2004]
1199
1200  * Fix race condition in CRL checking code.
1201  * Fixes to PKCS#7 (S/MIME) code.
1202
1203### Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d [17 Mar 2004]
1204
1205  * Security: Fix Kerberos ciphersuite SSL/TLS handshaking bug
1206  * Security: Fix null-pointer assignment in do_change_cipher_spec()
1207  * Allow multiple active certificates with same subject in CA index
1208  * Multiple X509 verification fixes
1209  * Speed up HMAC and other operations
1210
1211### Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c [30 Sep 2003]
1212
1213  * Security: fix various ASN1 parsing bugs.
1214  * New -ignore_err option to OCSP utility.
1215  * Various interop and bug fixes in S/MIME code.
1216  * SSL/TLS protocol fix for unrequested client certificates.
1217
1218### Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b [10 Apr 2003]
1219
1220  * Security: counter the Klima-Pokorny-Rosa extension of
1221    Bleichbacher's attack
1222  * Security: make RSA blinding default.
1223  * Configuration: Irix fixes, AIX fixes, better mingw support.
1224  * Support for new platforms: linux-ia64-ecc.
1225  * Build: shared library support fixes.
1226  * ASN.1: treat domainComponent correctly.
1227  * Documentation: fixes and additions.
1228
1229### Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a [19 Feb 2003]
1230
1231  * Security: Important security related bugfixes.
1232  * Enhanced compatibility with MIT Kerberos.
1233  * Can be built without the ENGINE framework.
1234  * IA32 assembler enhancements.
1235  * Support for new platforms: FreeBSD/IA64 and FreeBSD/Sparc64.
1236  * Configuration: the no-err option now works properly.
1237  * SSL/TLS: now handles manual certificate chain building.
1238  * SSL/TLS: certain session ID malfunctions corrected.
1239
1240### Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7 [30 Dec 2002]
1241
1242  * New library section OCSP.
1243  * Complete rewrite of ASN1 code.
1244  * CRL checking in verify code and openssl utility.
1245  * Extension copying in 'ca' utility.
1246  * Flexible display options in 'ca' utility.
1247  * Provisional support for international characters with UTF8.
1248  * Support for external crypto devices ('engine') is no longer
1249    a separate distribution.
1250  * New elliptic curve library section.
1251  * New AES (Rijndael) library section.
1252  * Support for new platforms: Windows CE, Tandem OSS, A/UX, AIX 64-bit,
1253    Linux x86_64, Linux 64-bit on Sparc v9
1254  * Extended support for some platforms: VxWorks
1255  * Enhanced support for shared libraries.
1256  * Now only builds PIC code when shared library support is requested.
1257  * Support for pkg-config.
1258  * Lots of new manuals.
1259  * Makes symbolic links to or copies of manuals to cover all described
1260    functions.
1261  * Change DES API to clean up the namespace (some applications link also
1262    against libdes providing similar functions having the same name).
1263    Provide macros for backward compatibility (will be removed in the
1264    future).
1265  * Unify handling of cryptographic algorithms (software and engine)
1266    to be available via EVP routines for asymmetric and symmetric ciphers.
1267  * NCONF: new configuration handling routines.
1268  * Change API to use more 'const' modifiers to improve error checking
1269    and help optimizers.
1270  * Finally remove references to RSAref.
1271  * Reworked parts of the BIGNUM code.
1272  * Support for new engines: Broadcom ubsec, Accelerated Encryption
1273    Processing, IBM 4758.
1274  * A few new engines added in the demos area.
1275  * Extended and corrected OID (object identifier) table.
1276  * PRNG: query at more locations for a random device, automatic query for
1277    EGD style random sources at several locations.
1278  * SSL/TLS: allow optional cipher choice according to server's preference.
1279  * SSL/TLS: allow server to explicitly set new session ids.
1280  * SSL/TLS: support Kerberos cipher suites (RFC2712).
1281    Only supports MIT Kerberos for now.
1282  * SSL/TLS: allow more precise control of renegotiations and sessions.
1283  * SSL/TLS: add callback to retrieve SSL/TLS messages.
1284  * SSL/TLS: support AES cipher suites (RFC3268).
1285
1286### Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k [30 Sep 2003]
1287
1288  * Security: fix various ASN1 parsing bugs.
1289  * SSL/TLS protocol fix for unrequested client certificates.
1290
1291### Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j [10 Apr 2003]
1292
1293  * Security: counter the Klima-Pokorny-Rosa extension of
1294    Bleichbacher's attack
1295  * Security: make RSA blinding default.
1296  * Build: shared library support fixes.
1297
1298### Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i [19 Feb 2003]
1299
1300  * Important security related bugfixes.
1301
1302### Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h [5 Dec 2002]
1303
1304  * New configuration targets for Tandem OSS and A/UX.
1305  * New OIDs for Microsoft attributes.
1306  * Better handling of SSL session caching.
1307  * Better comparison of distinguished names.
1308  * Better handling of shared libraries in a mixed GNU/non-GNU environment.
1309  * Support assembler code with Borland C.
1310  * Fixes for length problems.
1311  * Fixes for uninitialised variables.
1312  * Fixes for memory leaks, some unusual crashes and some race conditions.
1313  * Fixes for smaller building problems.
1314  * Updates of manuals, FAQ and other instructive documents.
1315
1316### Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g [9 Aug 2002]
1317
1318  * Important building fixes on Unix.
1319
1320### Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f [8 Aug 2002]
1321
1322  * Various important bugfixes.
1323
1324### Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e [30 Jul 2002]
1325
1326  * Important security related bugfixes.
1327  * Various SSL/TLS library bugfixes.
1328
1329### Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d [9 May 2002]
1330
1331  * Various SSL/TLS library bugfixes.
1332  * Fix DH parameter generation for 'non-standard' generators.
1333
1334### Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c [21 Dec 2001]
1335
1336  * Various SSL/TLS library bugfixes.
1337  * BIGNUM library fixes.
1338  * RSA OAEP and random number generation fixes.
1339  * Object identifiers corrected and added.
1340  * Add assembler BN routines for IA64.
1341  * Add support for OS/390 Unix, UnixWare with gcc, OpenUNIX 8,
1342    MIPS Linux; shared library support for Irix, HP-UX.
1343  * Add crypto accelerator support for AEP, Baltimore SureWare,
1344    Broadcom and Cryptographic Appliance's keyserver
1345    [in 0.9.6c-engine release].
1346
1347### Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b [9 Jul 2001]
1348
1349  * Security fix: PRNG improvements.
1350  * Security fix: RSA OAEP check.
1351  * Security fix: Reinsert and fix countermeasure to Bleichbacher's
1352    attack.
1353  * MIPS bug fix in BIGNUM.
1354  * Bug fix in "openssl enc".
1355  * Bug fix in X.509 printing routine.
1356  * Bug fix in DSA verification routine and DSA S/MIME verification.
1357  * Bug fix to make PRNG thread-safe.
1358  * Bug fix in RAND_file_name().
1359  * Bug fix in compatibility mode trust settings.
1360  * Bug fix in blowfish EVP.
1361  * Increase default size for BIO buffering filter.
1362  * Compatibility fixes in some scripts.
1363
1364### Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a [5 Apr 2001]
1365
1366  * Security fix: change behavior of OpenSSL to avoid using
1367    environment variables when running as root.
1368  * Security fix: check the result of RSA-CRT to reduce the
1369    possibility of deducing the private key from an incorrectly
1370    calculated signature.
1371  * Security fix: prevent Bleichenbacher's DSA attack.
1372  * Security fix: Zero the premaster secret after deriving the
1373    master secret in DH ciphersuites.
1374  * Reimplement SSL_peek(), which had various problems.
1375  * Compatibility fix: the function des_encrypt() renamed to
1376    des_encrypt1() to avoid clashes with some Unixen libc.
1377  * Bug fixes for Win32, HP/UX and Irix.
1378  * Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and
1379    memory checking routines.
1380  * Bug fixes for RSA operations in threaded environments.
1381  * Bug fixes in misc. openssl applications.
1382  * Remove a few potential memory leaks.
1383  * Add tighter checks of BIGNUM routines.
1384  * Shared library support has been reworked for generality.
1385  * More documentation.
1386  * New function BN_rand_range().
1387  * Add "-rand" option to openssl s_client and s_server.
1388
1389### Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6 [10 Oct 2000]
1390
1391  * Some documentation for BIO and SSL libraries.
1392  * Enhanced chain verification using key identifiers.
1393  * New sign and verify options to 'dgst' application.
1394  * Support for DER and PEM encoded messages in 'smime' application.
1395  * New 'rsautl' application, low-level RSA utility.
1396  * MD4 now included.
1397  * Bugfix for SSL rollback padding check.
1398  * Support for external crypto devices [1].
1399  * Enhanced EVP interface.
1400
1401  [1] The support for external crypto devices is currently a separate
1402      distribution.  See the file README-Engine.md.
1403
1404### Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a [1 Apr 2000]
1405
1406  * Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8
1407  * Shared library support for HPUX and Solaris-gcc
1408  * Support of Linux/IA64
1409  * Assembler support for Mingw32
1410  * New 'rand' application
1411  * New way to check for existence of algorithms from scripts
1412
1413### Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5 [25 May 2000]
1414
1415  * S/MIME support in new 'smime' command
1416  * Documentation for the OpenSSL command line application
1417  * Automation of 'req' application
1418  * Fixes to make s_client, s_server work under Windows
1419  * Support for multiple fieldnames in SPKACs
1420  * New SPKAC command line utility and associated library functions
1421  * Options to allow passwords to be obtained from various sources
1422  * New public key PEM format and options to handle it
1423  * Many other fixes and enhancements to command line utilities
1424  * Usable certificate chain verification
1425  * Certificate purpose checking
1426  * Certificate trust settings
1427  * Support of authority information access extension
1428  * Extensions in certificate requests
1429  * Simplified X509 name and attribute routines
1430  * Initial (incomplete) support for international character sets
1431  * New DH_METHOD, DSA_METHOD and enhanced RSA_METHOD
1432  * Read only memory BIOs and simplified creation function
1433  * TLS/SSL protocol bugfixes: Accept TLS 'client hello' in SSL 3.0
1434    record; allow fragmentation and interleaving of handshake and other
1435    data
1436  * TLS/SSL code now "tolerates" MS SGC
1437  * Work around for Netscape client certificate hang bug
1438  * RSA_NULL option that removes RSA patent code but keeps other
1439    RSA functionality
1440  * Memory leak detection now allows applications to add extra information
1441    via a per-thread stack
1442  * PRNG robustness improved
1443  * EGD support
1444  * BIGNUM library bug fixes
1445  * Faster DSA parameter generation
1446  * Enhanced support for Alpha Linux
1447  * Experimental macOS support
1448
1449### Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4 [9 Aug 1999]
1450
1451  * Transparent support for PKCS#8 format private keys: these are used
1452    by several software packages and are more secure than the standard
1453    form
1454  * PKCS#5 v2.0 implementation
1455  * Password callbacks have a new void * argument for application data
1456  * Avoid various memory leaks
1457  * New pipe-like BIO that allows using the SSL library when actual I/O
1458    must be handled by the application (BIO pair)
1459
1460### Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3 [24 May 1999]
1461
1462  * Lots of enhancements and cleanups to the Configuration mechanism
1463  * RSA OEAP related fixes
1464  * Added "openssl ca -revoke" option for revoking a certificate
1465  * Source cleanups: const correctness, type-safe stacks and ASN.1 SETs
1466  * Source tree cleanups: removed lots of obsolete files
1467  * Thawte SXNet, certificate policies and CRL distribution points
1468    extension support
1469  * Preliminary (experimental) S/MIME support
1470  * Support for ASN.1 UTF8String and VisibleString
1471  * Full integration of PKCS#12 code
1472  * Sparc assembler bignum implementation, optimized hash functions
1473  * Option to disable selected ciphers
1474
1475### Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b [22 Mar 1999]
1476
1477  * Fixed a security hole related to session resumption
1478  * Fixed RSA encryption routines for the p < q case
1479  * "ALL" in cipher lists now means "everything except NULL ciphers"
1480  * Support for Triple-DES CBCM cipher
1481  * Support of Optimal Asymmetric Encryption Padding (OAEP) for RSA
1482  * First support for new TLSv1 ciphers
1483  * Added a few new BIOs (syslog BIO, reliable BIO)
1484  * Extended support for DSA certificate/keys.
1485  * Extended support for Certificate Signing Requests (CSR)
1486  * Initial support for X.509v3 extensions
1487  * Extended support for compression inside the SSL record layer
1488  * Overhauled Win32 builds
1489  * Cleanups and fixes to the Big Number (BN) library
1490  * Support for ASN.1 GeneralizedTime
1491  * Splitted ASN.1 SETs from SEQUENCEs
1492  * ASN1 and PEM support for Netscape Certificate Sequences
1493  * Overhauled Perl interface
1494  * Lots of source tree cleanups.
1495  * Lots of memory leak fixes.
1496  * Lots of bug fixes.
1497
1498### Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c [23 Dec 1998]
1499
1500  * Integration of the popular NO_RSA/NO_DSA patches
1501  * Initial support for compression inside the SSL record layer
1502  * Added BIO proxy and filtering functionality
1503  * Extended Big Number (BN) library
1504  * Added RIPE MD160 message digest
1505  * Added support for RC2/64bit cipher
1506  * Extended ASN.1 parser routines
1507  * Adjustments of the source tree for CVS
1508  * Support for various new platforms
1509
1510<!-- Links -->
1511
1512[CVE-2024-13176]: https://www.openssl.org/news/vulnerabilities.html#CVE-2024-13176
1513[CVE-2024-9143]: https://www.openssl.org/news/vulnerabilities.html#CVE-2024-9143
1514[CVE-2024-6119]: https://www.openssl.org/news/vulnerabilities.html#CVE-2024-6119
1515[CVE-2024-5535]: https://www.openssl.org/news/vulnerabilities.html#CVE-2024-5535
1516[CVE-2024-4741]: https://www.openssl.org/news/vulnerabilities.html#CVE-2024-4741
1517[CVE-2024-4603]: https://www.openssl.org/news/vulnerabilities.html#CVE-2024-4603
1518[CVE-2024-2511]: https://www.openssl.org/news/vulnerabilities.html#CVE-2024-2511
1519[CVE-2024-0727]: https://www.openssl.org/news/vulnerabilities.html#CVE-2024-0727
1520[CVE-2023-6237]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-6237
1521[CVE-2023-6129]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-6129
1522[CVE-2023-5678]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-5678
1523[CVE-2023-5363]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-5363
1524[CVE-2023-4807]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-4807
1525[CVE-2023-3817]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-3817
1526[CVE-2023-3446]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-3446
1527[CVE-2023-2975]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-2975
1528[CVE-2023-2650]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-2650
1529[CVE-2023-1255]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-1255
1530[CVE-2023-0466]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0466
1531[CVE-2023-0465]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0465
1532[CVE-2023-0464]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0464
1533[CVE-2023-0401]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0401
1534[CVE-2023-0286]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0286
1535[CVE-2023-0217]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0217
1536[CVE-2023-0216]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0216
1537[CVE-2023-0215]: https://www.openssl.org/news/vulnerabilities.html#CVE-2023-0215
1538[CVE-2022-4450]: https://www.openssl.org/news/vulnerabilities.html#CVE-2022-4450
1539[CVE-2022-4304]: https://www.openssl.org/news/vulnerabilities.html#CVE-2022-4304
1540[CVE-2022-4203]: https://www.openssl.org/news/vulnerabilities.html#CVE-2022-4203
1541[CVE-2022-3996]: https://www.openssl.org/news/vulnerabilities.html#CVE-2022-3996
1542[CVE-2022-2274]: https://www.openssl.org/news/vulnerabilities.html#CVE-2022-2274
1543[CVE-2022-2097]: https://www.openssl.org/news/vulnerabilities.html#CVE-2022-2097
1544[CVE-2020-1971]: https://www.openssl.org/news/vulnerabilities.html#CVE-2020-1971
1545[CVE-2020-1967]: https://www.openssl.org/news/vulnerabilities.html#CVE-2020-1967
1546[CVE-2019-1563]: https://www.openssl.org/news/vulnerabilities.html#CVE-2019-1563
1547[CVE-2019-1559]: https://www.openssl.org/news/vulnerabilities.html#CVE-2019-1559
1548[CVE-2019-1552]: https://www.openssl.org/news/vulnerabilities.html#CVE-2019-1552
1549[CVE-2019-1551]: https://www.openssl.org/news/vulnerabilities.html#CVE-2019-1551
1550[CVE-2019-1549]: https://www.openssl.org/news/vulnerabilities.html#CVE-2019-1549
1551[CVE-2019-1547]: https://www.openssl.org/news/vulnerabilities.html#CVE-2019-1547
1552[CVE-2019-1543]: https://www.openssl.org/news/vulnerabilities.html#CVE-2019-1543
1553[CVE-2018-5407]: https://www.openssl.org/news/vulnerabilities.html#CVE-2018-5407
1554[CVE-2018-0739]: https://www.openssl.org/news/vulnerabilities.html#CVE-2018-0739
1555[CVE-2018-0737]: https://www.openssl.org/news/vulnerabilities.html#CVE-2018-0737
1556[CVE-2018-0735]: https://www.openssl.org/news/vulnerabilities.html#CVE-2018-0735
1557[CVE-2018-0734]: https://www.openssl.org/news/vulnerabilities.html#CVE-2018-0734
1558[CVE-2018-0733]: https://www.openssl.org/news/vulnerabilities.html#CVE-2018-0733
1559[CVE-2018-0732]: https://www.openssl.org/news/vulnerabilities.html#CVE-2018-0732
1560[CVE-2017-3738]: https://www.openssl.org/news/vulnerabilities.html#CVE-2017-3738
1561[CVE-2017-3737]: https://www.openssl.org/news/vulnerabilities.html#CVE-2017-3737
1562[CVE-2017-3736]: https://www.openssl.org/news/vulnerabilities.html#CVE-2017-3736
1563[CVE-2017-3735]: https://www.openssl.org/news/vulnerabilities.html#CVE-2017-3735
1564[CVE-2017-3733]: https://www.openssl.org/news/vulnerabilities.html#CVE-2017-3733
1565[CVE-2017-3732]: https://www.openssl.org/news/vulnerabilities.html#CVE-2017-3732
1566[CVE-2017-3731]: https://www.openssl.org/news/vulnerabilities.html#CVE-2017-3731
1567[CVE-2017-3730]: https://www.openssl.org/news/vulnerabilities.html#CVE-2017-3730
1568[CVE-2016-7055]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-7055
1569[CVE-2016-7054]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-7054
1570[CVE-2016-7053]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-7053
1571[CVE-2016-7052]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-7052
1572[CVE-2016-6309]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-6309
1573[CVE-2016-6308]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-6308
1574[CVE-2016-6307]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-6307
1575[CVE-2016-6306]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-6306
1576[CVE-2016-6305]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-6305
1577[CVE-2016-6304]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-6304
1578[CVE-2016-6303]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-6303
1579[CVE-2016-6302]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-6302
1580[CVE-2016-2183]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2183
1581[CVE-2016-2182]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2182
1582[CVE-2016-2181]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2181
1583[CVE-2016-2180]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2180
1584[CVE-2016-2179]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2179
1585[CVE-2016-2178]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2178
1586[CVE-2016-2177]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2177
1587[CVE-2016-2176]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2176
1588[CVE-2016-2109]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2109
1589[CVE-2016-2107]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2107
1590[CVE-2016-2106]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2106
1591[CVE-2016-2105]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-2105
1592[CVE-2016-0800]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-0800
1593[CVE-2016-0799]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-0799
1594[CVE-2016-0798]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-0798
1595[CVE-2016-0797]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-0797
1596[CVE-2016-0705]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-0705
1597[CVE-2016-0702]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-0702
1598[CVE-2016-0701]: https://www.openssl.org/news/vulnerabilities.html#CVE-2016-0701
1599[CVE-2015-3197]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-3197
1600[CVE-2015-3196]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-3196
1601[CVE-2015-3195]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-3195
1602[CVE-2015-3194]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-3194
1603[CVE-2015-3193]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-3193
1604[CVE-2015-1793]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-1793
1605[CVE-2015-1792]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-1792
1606[CVE-2015-1791]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-1791
1607[CVE-2015-1790]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-1790
1608[CVE-2015-1789]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-1789
1609[CVE-2015-1788]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-1788
1610[CVE-2015-1787]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-1787
1611[CVE-2015-0293]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0293
1612[CVE-2015-0291]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0291
1613[CVE-2015-0290]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0290
1614[CVE-2015-0289]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0289
1615[CVE-2015-0288]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0288
1616[CVE-2015-0287]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0287
1617[CVE-2015-0286]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0286
1618[CVE-2015-0285]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0285
1619[CVE-2015-0209]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0209
1620[CVE-2015-0208]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0208
1621[CVE-2015-0207]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0207
1622[CVE-2015-0206]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0206
1623[CVE-2015-0205]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0205
1624[CVE-2015-0204]: https://www.openssl.org/news/vulnerabilities.html#CVE-2015-0204
1625[CVE-2014-8275]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-8275
1626[CVE-2014-5139]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-5139
1627[CVE-2014-3572]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3572
1628[CVE-2014-3571]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3571
1629[CVE-2014-3570]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3570
1630[CVE-2014-3569]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3569
1631[CVE-2014-3568]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3568
1632[CVE-2014-3567]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3567
1633[CVE-2014-3566]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3566
1634[CVE-2014-3513]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3513
1635[CVE-2014-3512]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3512
1636[CVE-2014-3511]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3511
1637[CVE-2014-3510]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3510
1638[CVE-2014-3509]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3509
1639[CVE-2014-3508]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3508
1640[CVE-2014-3507]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3507
1641[CVE-2014-3506]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3506
1642[CVE-2014-3505]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3505
1643[CVE-2014-3470]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-3470
1644[CVE-2014-0224]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-0224
1645[CVE-2014-0221]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-0221
1646[CVE-2014-0198]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-0198
1647[CVE-2014-0195]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-0195
1648[CVE-2014-0160]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-0160
1649[CVE-2014-0076]: https://www.openssl.org/news/vulnerabilities.html#CVE-2014-0076
1650[CVE-2013-6450]: https://www.openssl.org/news/vulnerabilities.html#CVE-2013-6450
1651[CVE-2013-6449]: https://www.openssl.org/news/vulnerabilities.html#CVE-2013-6449
1652[CVE-2013-4353]: https://www.openssl.org/news/vulnerabilities.html#CVE-2013-4353
1653[CVE-2013-0169]: https://www.openssl.org/news/vulnerabilities.html#CVE-2013-0169
1654[CVE-2013-0166]: https://www.openssl.org/news/vulnerabilities.html#CVE-2013-0166
1655[CVE-2012-2686]: https://www.openssl.org/news/vulnerabilities.html#CVE-2012-2686
1656[CVE-2012-2333]: https://www.openssl.org/news/vulnerabilities.html#CVE-2012-2333
1657[CVE-2012-2110]: https://www.openssl.org/news/vulnerabilities.html#CVE-2012-2110
1658[CVE-2012-0884]: https://www.openssl.org/news/vulnerabilities.html#CVE-2012-0884
1659[CVE-2012-0050]: https://www.openssl.org/news/vulnerabilities.html#CVE-2012-0050
1660[CVE-2012-0027]: https://www.openssl.org/news/vulnerabilities.html#CVE-2012-0027
1661[CVE-2011-4619]: https://www.openssl.org/news/vulnerabilities.html#CVE-2011-4619
1662[CVE-2011-4577]: https://www.openssl.org/news/vulnerabilities.html#CVE-2011-4577
1663[CVE-2011-4576]: https://www.openssl.org/news/vulnerabilities.html#CVE-2011-4576
1664[CVE-2011-4108]: https://www.openssl.org/news/vulnerabilities.html#CVE-2011-4108
1665[CVE-2011-3210]: https://www.openssl.org/news/vulnerabilities.html#CVE-2011-3210
1666[CVE-2011-3207]: https://www.openssl.org/news/vulnerabilities.html#CVE-2011-3207
1667[CVE-2011-0014]: https://www.openssl.org/news/vulnerabilities.html#CVE-2011-0014
1668[CVE-2010-5298]: https://www.openssl.org/news/vulnerabilities.html#CVE-2010-5298
1669[CVE-2010-4252]: https://www.openssl.org/news/vulnerabilities.html#CVE-2010-4252
1670[CVE-2010-4180]: https://www.openssl.org/news/vulnerabilities.html#CVE-2010-4180
1671[CVE-2010-3864]: https://www.openssl.org/news/vulnerabilities.html#CVE-2010-3864
1672[CVE-2010-2939]: https://www.openssl.org/news/vulnerabilities.html#CVE-2010-2939
1673[CVE-2010-1633]: https://www.openssl.org/news/vulnerabilities.html#CVE-2010-1633
1674[CVE-2010-0740]: https://www.openssl.org/news/vulnerabilities.html#CVE-2010-0740
1675[CVE-2010-0433]: https://www.openssl.org/news/vulnerabilities.html#CVE-2010-0433
1676[CVE-2009-3555]: https://www.openssl.org/news/vulnerabilities.html#CVE-2009-3555
1677[CVE-2009-0789]: https://www.openssl.org/news/vulnerabilities.html#CVE-2009-0789
1678[CVE-2009-0591]: https://www.openssl.org/news/vulnerabilities.html#CVE-2009-0591
1679[CVE-2009-0590]: https://www.openssl.org/news/vulnerabilities.html#CVE-2009-0590
1680[CVE-2008-5077]: https://www.openssl.org/news/vulnerabilities.html#CVE-2008-5077
1681[CVE-2006-4343]: https://www.openssl.org/news/vulnerabilities.html#CVE-2006-4343
1682[CVE-2006-4339]: https://www.openssl.org/news/vulnerabilities.html#CVE-2006-4339
1683[CVE-2006-3737]: https://www.openssl.org/news/vulnerabilities.html#CVE-2006-3737
1684[CVE-2006-2940]: https://www.openssl.org/news/vulnerabilities.html#CVE-2006-2940
1685[CVE-2006-2937]: https://www.openssl.org/news/vulnerabilities.html#CVE-2006-2937
1686[CVE-2005-2969]: https://www.openssl.org/news/vulnerabilities.html#CVE-2005-2969
1687