xref: /freebsd/crypto/openssl/NEWS.md (revision f9bc005b8ef3b507a5ecbc2d7fe4411ef70eff38)
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.5](#openssl-35)
11 - [OpenSSL 3.4](#openssl-34)
12 - [OpenSSL 3.3](#openssl-33)
13 - [OpenSSL 3.2](#openssl-32)
14 - [OpenSSL 3.1](#openssl-31)
15 - [OpenSSL 3.0](#openssl-30)
16 - [OpenSSL 1.1.1](#openssl-111)
17 - [OpenSSL 1.1.0](#openssl-110)
18 - [OpenSSL 1.0.2](#openssl-102)
19 - [OpenSSL 1.0.1](#openssl-101)
20 - [OpenSSL 1.0.0](#openssl-100)
21 - [OpenSSL 0.9.x](#openssl-09x)
22
23OpenSSL 3.5
24-----------
25
26### Major changes between OpenSSL 3.5.8 and OpenSSL 3.5.9 [29 Sep 2026]
27
28OpenSSL 3.5.9 is a security patch release.  The most severe CVE fixed
29in this release is High.
30
31This release incorporates the following bug fixes and mitigations:
32
33  * Fixed DTLS retransmissions of handshake messages from a stale buffer offset.
34    ([CVE-2026-84782])
35
36  * Fixed excessive memory allocation in relative CRLDP processing.
37    ([CVE-2026-35189])
38
39  * Fixed QUIC unvalidated amplification credit may be over-accounted.
40    ([CVE-2026-35191])
41
42  * Fixed potential CPU DoS via O(n^2) fragment reassembly in QUIC.
43    ([CVE-2026-42772])
44
45  * Fixed a timing side-channel in scalar multiplication for mon-NIST EC curves.
46    ([CVE-2026-54872])
47
48  * Fixed QUIC `STREAM` fragment metadata DoS.
49    ([CVE-2026-54873])
50
51  * Fixed non-constant-time SM2 scalar multiplication on ARM64 and RISC-V.
52    ([CVE-2026-54875])
53
54  * Fixed out-of-bounds access after `SSL_set_SSL_CTX()` during a handshake.
55    ([CVE-2026-72897])
56
57  * Fixed QUIC connection-level flow control was not enforced for streams.
58    ([CVE-2026-75804])
59
60  * Fixed a NULL pointer dereference in CMP client revocation response handling.
61    ([CVE-2026-75805])
62
63  * Fixed an unauthenticated and undersized DTLS 1.2 AEAD record causing DoS.
64    ([CVE-2026-75806])
65
66  * Fixed a timing side-channel in SM2 signature generation.
67    ([CVE-2026-77696])
68
69  * Fixed an unbounded `RETIRE_CONNECTION_ID` backlog in QUIC stack
70    implementation.
71    ([CVE-2026-84784])
72
73  * Fixed a bug where `EVP_DecryptFinal()` incorrectly reported a stale success
74    on AES-SIV authentication failure.
75
76### Major changes between OpenSSL 3.5.7 and OpenSSL 3.5.8 [25 Aug 2026]
77
78OpenSSL 3.5.8 is a security patch release.  The most severe CVE fixed
79in this release is Moderate.
80
81This release incorporates the following bug fixes and mitigations:
82
83  * Fixed QUIC server being able to trigger double free when processing
84    `INITIAL` packet.
85    ([CVE-2026-18798])
86
87  * Fixed heap buffer overflow in CMS key unwrapping.
88    ([CVE-2026-63072])
89
90  * Fixed invalid pointer dereference in CMP server via crafted `protectionAlg`.
91    ([CVE-2026-63076])
92
93  * Fixed unbounded memory growth in QUIC server incoming channel queue.
94    ([CVE-2026-14456])
95
96  * Fixed RPK server signature algorithm selection being able to dereference
97    a missing certificate.
98    ([CVE-2026-14457])
99
100  * Fixed excessive memory use buffering DTLS records for a future epoch.
101    ([CVE-2026-54874])
102
103  * Fixed untrusted Sender DN being used as a format string in CMP response
104    validation.
105    ([CVE-2026-63073])
106
107  * Fixed CMP indefinite cache growth of `extraCerts`.
108    ([CVE-2026-63074])
109
110  * Fixed QUIC ACK-only packet retention being able to cause memory exhaustion.
111    ([CVE-2026-63075])
112
113  * Fixed possibility of AEAD forgeries with empty ciphertext when using
114    `EVP_Cipher()`.
115    ([CVE-2026-75803])
116
117  * Fixed checking of authentication tags for empty ciphertexts for AEAD ciphers
118    in CCM cipher mode.
119
120### Major changes between OpenSSL 3.5.6 and OpenSSL 3.5.7 [9 Jun 2026]
121
122OpenSSL 3.5.7 is a security patch release.  The most severe CVE fixed
123in this release is High.
124
125This release incorporates the following bug fixes and mitigations:
126
127  * Fixed heap use-after-free in `PKCS7_verify()`.
128    ([CVE-2026-45447])
129
130  * Fixed CMS `AuthEnvelopedData` processing may accept forged messages.
131    ([CVE-2026-34182])
132
133  * Fixed unbounded memory growth in the QUIC `PATH_CHALLENGE` handler.
134    ([CVE-2026-34183])
135
136  * Fixed NULL pointer dereference in QUIC server initial packet handling.
137    ([CVE-2026-42764])
138
139  * Fixed AES-OCB IV ignored on `EVP_Cipher()` path.
140    ([CVE-2026-45445])
141
142  * Fixed possible heap buffer overflow in ASN.1 multibyte string conversion.
143    ([CVE-2026-7383])
144
145  * Fixed out-of-bounds read in CMS password-based decryption.
146    ([CVE-2026-9076])
147
148  * Fixed heap buffer over-read in ASN.1 content parsing.
149    ([CVE-2026-34180])
150
151  * Fixed PKCS#12 files with PBMAC1 are accepted with short HMAC keys.
152    ([CVE-2026-34181])
153
154  * Fixed possible NULL dereference in password-dased CMS decryption.
155    ([CVE-2026-42766])
156
157  * Fixed NULL pointer dereference in CRMF `EncryptedValue` decryption.
158    ([CVE-2026-42767])
159
160  * Fixed multi-`RecipientInfo` Bleichenbacher Oracle in `CMS_decrypt()`
161    and `PKCS7_decrypt()`.
162    ([CVE-2026-42768])
163
164  * Fixed trust anchor substitution via `cert`/`issuer` typo in CMP
165    `rootCaKeyUpdate`.
166    ([CVE-2026-42769])
167
168  * Fixed FFC-DH peer validation uses attacker-supplied `q`.
169    ([CVE-2026-42770])
170
171  * Fixed incorrect tag processing for empty messages in AES-GCM-SIV
172    and AES-SIV modes.
173    ([CVE-2026-45446])
174
175  * Fixed excessive allocation of the handshake message buffer (aka HollowByte).
176
177### Major changes between OpenSSL 3.5.5 and OpenSSL 3.5.6 [7 Apr 2026]
178
179OpenSSL 3.5.6 is a security patch release. The most severe CVE fixed in this
180release is Moderate.
181
182This release incorporates the following bug fixes and mitigations:
183
184  * Fixed incorrect failure handling in RSA KEM RSASVE encapsulation.
185    ([CVE-2026-31790])
186
187  * Fixed loss of key agreement group tuple structure when the `DEFAULT` keyword
188    is used in the server-side configuration of the key-agreement group list.
189    ([CVE-2026-2673])
190
191  * Fixed potential use-after-free in DANE client code.
192    ([CVE-2026-28387])
193
194  * Fixed NULL pointer dereference when processing a delta CRL.
195    ([CVE-2026-28388])
196
197  * Fixed possible NULL dereference when processing CMS KeyAgreeRecipientInfo.
198    ([CVE-2026-28389])
199
200  * Fixed possible NULL dereference when processing CMS
201    KeyTransportRecipientInfo.
202    ([CVE-2026-28390])
203
204  * Fixed heap buffer overflow in hexadecimal conversion.
205    ([CVE-2026-31789])
206
207### Major changes between OpenSSL 3.5.4 and OpenSSL 3.5.5 [27 Jan 2026]
208
209OpenSSL 3.5.5 is a security patch release. The most severe CVE fixed in this
210release is High.
211
212This release incorporates the following bug fixes and mitigations:
213
214  * Fixed Improper validation of PBMAC1 parameters in PKCS#12 MAC verification.
215    ([CVE-2025-11187])
216
217  * Fixed Stack buffer overflow in CMS `AuthEnvelopedData` parsing.
218    ([CVE-2025-15467])
219
220  * Fixed NULL dereference in `SSL_CIPHER_find()` function on unknown cipher ID.
221    ([CVE-2025-15468])
222
223  * Fixed `openssl dgst` one-shot codepath silently truncates inputs >16 MiB.
224    ([CVE-2025-15469])
225
226  * Fixed TLS 1.3 `CompressedCertificate` excessive memory allocation.
227    ([CVE-2025-66199])
228
229  * Fixed Heap out-of-bounds write in `BIO_f_linebuffer` on short writes.
230    ([CVE-2025-68160])
231
232  * Fixed Unauthenticated/unencrypted trailing bytes with low-level OCB
233    function calls.
234    ([CVE-2025-69418])
235
236  * Fixed Out of bounds write in `PKCS12_get_friendlyname()` UTF-8 conversion.
237    ([CVE-2025-69419])
238
239  * Fixed Missing `ASN1_TYPE` validation in `TS_RESP_verify_response()`
240    function.
241    ([CVE-2025-69420])
242
243  * Fixed NULL Pointer Dereference in `PKCS12_item_decrypt_d2i_ex()` function.
244    ([CVE-2025-69421])
245
246  * Fixed Missing `ASN1_TYPE` validation in PKCS#12 parsing.
247    ([CVE-2026-22795])
248
249  * Fixed `ASN1_TYPE` Type Confusion in the `PKCS7_digest_from_attributes()`
250    function.
251    ([CVE-2026-22796])
252
253### Major changes between OpenSSL 3.5.3 and OpenSSL 3.5.4 [30 Sep 2025]
254
255OpenSSL 3.5.4 is a security patch release. The most severe CVE fixed in this
256release is Moderate.
257
258This release incorporates the following bug fixes and mitigations:
259
260  * Fix Out-of-bounds read & write in RFC 3211 KEK Unwrap.
261    ([CVE-2025-9230])
262
263  * Fix Timing side-channel in SM2 algorithm on 64 bit ARM.
264    ([CVE-2025-9231])
265
266  * Fix Out-of-bounds read in HTTP client no_proxy handling.
267    ([CVE-2025-9232])
268
269  * Reverted the synthesised `OPENSSL_VERSION_NUMBER` change for the release
270    builds, as it broke some exiting applications that relied on the previous
271    3.x semantics, as documented in `OpenSSL_version(3)`.
272
273### Major changes between OpenSSL 3.5.2 and OpenSSL 3.5.3 [16 Sep 2025]
274
275OpenSSL 3.5.3 is a bug fix release.
276
277This release incorporates the following bug fixes and mitigations:
278
279  * Added FIPS 140-3 PCT on DH key generation.
280
281  * Fixed the synthesised `OPENSSL_VERSION_NUMBER`.
282
283  * Removed PCT on key import in the FIPS provider as it is not required by
284    the standard.
285
286### Major changes between OpenSSL 3.5.1 and OpenSSL 3.5.2 [5 Aug 2025]
287
288OpenSSL 3.5.2 is a bug fix release.
289
290This release incorporates the following bug fixes and mitigations:
291
292  * The FIPS provider now performs a PCT on key import for RSA, EC and ECX.
293
294### Major changes between OpenSSL 3.5.0 and OpenSSL 3.5.1 [1 Jul 2025]
295
296OpenSSL 3.5.1 is a security patch release. The most severe CVE fixed in this
297release is Low.
298
299This release incorporates the following bug fixes and mitigations:
300
301  * Fix x509 application adds trusted use instead of rejected use.
302    ([CVE-2025-4575])
303
304### Major changes between OpenSSL 3.4 and OpenSSL 3.5.0 [8 Apr 2025]
305
306OpenSSL 3.5.0 is a feature release adding significant new functionality to
307OpenSSL.
308
309This release incorporates the following potentially significant or incompatible
310changes:
311
312  * Default encryption cipher for the `req`, `cms`, and `smime` applications
313    changed from `des-ede3-cbc` to `aes-256-cbc`.
314
315  * The default TLS supported groups list has been changed to include and
316    prefer hybrid PQC KEM groups. Some practically unused groups were removed
317    from the default list.
318
319  * The default TLS keyshares have been changed to offer X25519MLKEM768 and
320    and X25519.
321
322  * All `BIO_meth_get_*()` functions were deprecated.
323
324This release adds the following new features:
325
326  * Support for server side QUIC (RFC 9000)
327
328  * Support for 3rd party QUIC stacks including 0-RTT support
329
330  * Support for PQC algorithms (ML-KEM, ML-DSA and SLH-DSA)
331
332  * A new configuration option `no-tls-deprecated-ec` to disable support for
333    TLS groups deprecated in RFC8422
334
335  * A new configuration option `enable-fips-jitter` to make the FIPS provider
336    to use the `JITTER` seed source
337
338  * Support for central key generation in CMP
339
340  * Support added for opaque symmetric key objects (EVP_SKEY)
341
342  * Support for multiple TLS keyshares and improved TLS key establishment group
343    configurability
344
345  * API support for pipelining in provided cipher algorithms
346
347Known issues in 3.5.0
348
349  * <https://github.com/openssl/openssl/issues/27282>
350    Calling SSL_accept on objects returned from SSL_accept_connection
351    results in error.  It is expected that making this call will advance
352    the SSL handshake for the passed connection, but currently it does not.
353    This can be handled by calling SSL_do_handshake instead.  A fix is planned
354    for OpenSSL 3.5.1
355
356OpenSSL 3.4
357-----------
358
359### Major changes between OpenSSL 3.4.0 and OpenSSL 3.4.1 [11 Feb 2025]
360
361OpenSSL 3.4.1 is a security patch release. The most severe CVE fixed in this
362release is High.
363
364This release incorporates the following bug fixes and mitigations:
365
366  * Fixed RFC7250 handshakes with unauthenticated servers don't abort as expected.
367    ([CVE-2024-12797])
368
369  * Fixed timing side-channel in ECDSA signature computation.
370    ([CVE-2024-13176])
371
372### Major changes between OpenSSL 3.3 and OpenSSL 3.4.0 [22 Oct 2024]
373
374OpenSSL 3.4.0 is a feature release adding significant new functionality to
375OpenSSL.
376
377This release incorporates the following potentially significant or incompatible
378changes:
379
380  * Deprecation of TS_VERIFY_CTX_set_* functions and addition of replacement
381    TS_VERIFY_CTX_set0_* functions with improved semantics
382
383  * Redesigned use of OPENSSLDIR/ENGINESDIR/MODULESDIR on Windows such that
384    what were formerly build time locations can now be defined at run time
385    with registry keys
386
387  * The X25519 and X448 key exchange implementation in the FIPS provider
388    is unapproved and has `fips=no` property.
389
390  * SHAKE-128 and SHAKE-256 implementations have no default digest length
391    anymore. That means these algorithms cannot be used with
392    EVP_DigestFinal/_ex() unless the `xoflen` param is set before.
393
394  * Setting `config_diagnostics=1` in the config file will cause errors to
395    be returned from SSL_CTX_new() and SSL_CTX_new_ex() if there is an error
396    in the ssl module configuration.
397
398  * An empty renegotiate extension will be used in TLS client hellos instead
399    of the empty renegotiation SCSV, for all connections with a minimum TLS
400    version > 1.0.
401
402  * Deprecation of SSL_SESSION_get_time(), SSL_SESSION_set_time() and
403    SSL_CTX_flush_sessions() functions in favor of their respective `_ex`
404    functions which are Y2038-safe on platforms with Y2038-safe `time_t`
405
406This release adds the following new features:
407
408  * Support for directly fetched composite signature algorithms such as
409    RSA-SHA2-256 including new API functions
410
411  * FIPS indicators support in the FIPS provider and various updates of the FIPS
412    provider required for future FIPS 140-3 validations
413
414  * Implementation of RFC 9579 (PBMAC1) in PKCS#12
415
416  * An optional additional random seed source RNG `JITTER` using a statically
417    linked jitterentropy library
418
419  * New options `-not_before` and `-not_after` for explicit setting start and
420    end dates of certificates created with the `req` and `x509` apps
421
422  * Support for integrity-only cipher suites TLS_SHA256_SHA256 and
423    TLS_SHA384_SHA384 in TLS 1.3, as defined in RFC 9150
424
425  * Support for retrieving certificate request templates and CRLs in CMP
426
427  * Support for additional X.509v3 extensions related to Attribute Certificates
428
429  * Initial Attribute Certificate (RFC 5755) support
430
431  * Possibility to customize ECC groups initialization to use precomputed values
432    to save CPU time and use of this feature by the P-256 implementation
433
434OpenSSL 3.3
435-----------
436
437### Major changes between OpenSSL 3.3.2 and OpenSSL 3.3.3 [under development]
438
439OpenSSL 3.3.3 is a security patch release. The most severe CVE fixed in this
440release is Low.
441
442This release incorporates the following bug fixes and mitigations:
443
444  * Fixed possible OOB memory access with invalid low-level GF(2^m) elliptic
445    curve parameters.
446    ([CVE-2024-9143])
447
448### Major changes between OpenSSL 3.3.1 and OpenSSL 3.3.2 [3 Sep 2024]
449
450OpenSSL 3.3.2 is a security patch release. The most severe CVE fixed in this
451release is Moderate.
452
453This release incorporates the following bug fixes and mitigations:
454
455  * Fixed possible denial of service in X.509 name checks
456    ([CVE-2024-6119])
457
458  * Fixed possible buffer overread in SSL_select_next_proto()
459    ([CVE-2024-5535])
460
461### Major changes between OpenSSL 3.3.0 and OpenSSL 3.3.1 [4 Jun 2024]
462
463OpenSSL 3.3.1 is a security patch release. The most severe CVE fixed in this
464release is Low.
465
466This release incorporates the following bug fixes and mitigations:
467
468  * Fixed potential use after free after SSL_free_buffers() is called
469    ([CVE-2024-4741])
470
471  * Fixed an issue where checking excessively long DSA keys or parameters may
472    be very slow
473    ([CVE-2024-4603])
474
475### Major changes between OpenSSL 3.2 and OpenSSL 3.3.0 [9 Apr 2024]
476
477OpenSSL 3.3.0 is a feature release adding significant new functionality to
478OpenSSL.
479
480This release adds the following new features:
481
482  * Support for qlog for tracing QUIC connections has been added
483
484  * Added APIs to allow configuring the negotiated idle timeout for QUIC
485    connections, and to allow determining the number of additional streams
486    that can currently be created for a QUIC connection.
487
488  * Added APIs to allow disabling implicit QUIC event processing for QUIC SSL
489    objects
490
491  * Added APIs to allow querying the size and utilisation of a QUIC stream's
492    write buffer
493
494  * New API `SSL_write_ex2`, which can be used to send an end-of-stream (FIN)
495    condition in an optimised way when using QUIC.
496
497  * Limited support for polling of QUIC connection and stream objects in a
498    non-blocking manner.
499
500  * Added a new EVP_DigestSqueeze() API. This allows SHAKE to squeeze multiple
501    times with different output sizes.
502
503  * Added exporter for CMake on Unix and Windows, alongside the pkg-config
504    exporter.
505
506  * The BLAKE2s hash algorithm matches BLAKE2b's support for configurable
507    output length.
508
509  * The EVP_PKEY_fromdata function has been augmented to allow for the
510    derivation of CRT (Chinese Remainder Theorem) parameters when requested
511
512  * Added API functions SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex()
513    using time_t which is Y2038 safe on 32 bit systems when 64 bit time
514    is enabled
515
516  * Unknown entries in TLS SignatureAlgorithms, ClientSignatureAlgorithms
517    config options and the respective calls to SSL[_CTX]_set1_sigalgs() and
518    SSL[_CTX]_set1_client_sigalgs() that start with `?` character are
519    ignored and the configuration will still be used.
520
521  * Added `-set_issuer` and `-set_subject` options to `openssl x509` to
522    override the Issuer and Subject when creating a certificate. The `-subj`
523    option now is an alias for `-set_subject`.
524
525  * Added several new features of CMPv3 defined in RFC 9480 and RFC 9483
526
527  * New option `SSL_OP_PREFER_NO_DHE_KEX`, which allows configuring a TLS1.3
528    server to prefer session resumption using PSK-only key exchange over PSK
529    with DHE, if both are available.
530
531  * New atexit configuration switch, which controls whether the OPENSSL_cleanup
532    is registered when libcrypto is unloaded.
533
534  * Added X509_STORE_get1_objects to avoid issues with the existing
535    X509_STORE_get0_objects API in multi-threaded applications.
536
537  * Support for using certificate profiles and extended delayed delivery in CMP
538
539This release incorporates the following potentially significant or incompatible
540changes:
541
542  * Applied AES-GCM unroll8 optimisation to Microsoft Azure Cobalt 100
543
544  * Optimized AES-CTR for ARM Neoverse V1 and V2
545
546  * Enable AES and SHA3 optimisations on Apple Silicon M3-based MacOS systems
547    similar to M1/M2.
548
549  * Various optimizations for cryptographic routines using RISC-V vector crypto
550    extensions
551
552  * Added assembly implementation for md5 on loongarch64
553
554  * Accept longer context for TLS 1.2 exporters
555
556  * The activate and soft_load configuration settings for providers in
557    openssl.cnf have been updated to require a value of [1|yes|true|on]
558    (in lower or UPPER case) to enable the setting. Conversely a value
559    of [0|no|false|off] will disable the setting.
560
561  * In `openssl speed`, changed the default hash function used with `hmac` from
562    `md5` to `sha256`.
563
564  * The `-verify` option to the `openssl crl` and `openssl req` will make the
565    program exit with 1 on failure.
566
567  * The d2i_ASN1_GENERALIZEDTIME(), d2i_ASN1_UTCTIME(), ASN1_TIME_check(), and
568    related functions have been augmented to check for a minimum length of
569    the input string, in accordance with ITU-T X.690 section 11.7 and 11.8.
570
571  * OPENSSL_sk_push() and sk_<TYPE>_push() functions now return 0 instead of -1
572    if called with a NULL stack argument.
573
574  * New limit on HTTP response headers is introduced to HTTP client. The
575    default limit is set to 256 header lines.
576
577This release incorporates the following bug fixes and mitigations:
578
579  * The BIO_get_new_index() function can only be called 127 times before it
580    reaches its upper bound of BIO_TYPE_MASK and will now return -1 once its
581    exhausted.
582
583A more detailed list of changes in this release can be found in the
584[CHANGES.md] file.
585
586Users interested in using the new QUIC functionality are encouraged to read the
587[README file for QUIC][README-QUIC.md], which provides links to relevant
588documentation and example code.
589
590As always, bug reports and issues relating to OpenSSL can be [filed on our issue
591tracker][issue tracker].
592
593OpenSSL 3.2
594-----------
595
596### Major changes between OpenSSL 3.2.1 and OpenSSL 3.2.2 [under development]
597
598OpenSSL 3.2.2 is a security patch release. The most severe CVE fixed in this
599release is Low.
600
601This release incorporates the following bug fixes and mitigations:
602
603  * Fixed unbounded memory growth with session handling in TLSv1.3
604    ([CVE-2024-2511])
605
606### Major changes between OpenSSL 3.2.0 and OpenSSL 3.2.1 [30 Jan 2024]
607
608OpenSSL 3.2.1 is a security patch release. The most severe CVE fixed in this
609release is Low.
610
611This release incorporates the following bug fixes and mitigations:
612
613  * Fixed PKCS12 Decoding crashes
614    ([CVE-2024-0727])
615
616  * Fixed excessive time spent checking invalid RSA public keys
617    ([CVE-2023-6237])
618
619  * Fixed POLY1305 MAC implementation corrupting vector registers on PowerPC
620    CPUs which support PowerISA 2.07
621    ([CVE-2023-6129])
622
623### Major changes between OpenSSL 3.1 and OpenSSL 3.2.0 [23 Nov 2023]
624
625OpenSSL 3.2.0 is a feature release adding significant new functionality to
626OpenSSL.
627
628This release incorporates the following potentially significant or incompatible
629changes:
630
631  * The default SSL/TLS security level has been changed from 1 to 2.
632
633  * The `x509`, `ca`, and `req` apps now always produce X.509v3 certificates.
634
635  * Subject or issuer names in X.509 objects are now displayed as UTF-8 strings
636    by default. Also spaces surrounding `=` in DN output are removed.
637
638This release adds the following new features:
639
640  * Support for client side QUIC, including support for
641    multiple streams (RFC 9000)
642
643  * Support for Ed25519ctx, Ed25519ph and Ed448ph in addition
644    to existing support for Ed25519 and Ed448 (RFC 8032)
645
646  * Support for deterministic ECDSA signatures (RFC 6979)
647
648  * Support for AES-GCM-SIV, a nonce-misuse-resistant AEAD (RFC 8452)
649
650  * Support for the Argon2 KDF, along with supporting thread pool
651    functionality (RFC 9106)
652
653  * Support for Hybrid Public Key Encryption (HPKE) (RFC 9180)
654
655  * Support for SM4-XTS
656
657  * Support for Brainpool curves in TLS 1.3
658
659  * Support for TLS Raw Public Keys (RFC 7250)
660
661  * Support for TCP Fast Open on Linux, macOS and FreeBSD,
662    where enabled and supported (RFC 7413)
663
664  * Support for TLS certificate compression, including library
665    support for zlib, Brotli and zstd (RFC 8879)
666
667  * Support for provider-based pluggable signature algorithms
668    in TLS 1.3 with supporting CMS and X.509 functionality
669
670    With a suitable provider this enables the use of post-quantum/quantum-safe
671    cryptography.
672
673  * Support for using the Windows system certificate store as a source of
674    trusted root certificates
675
676    This is not yet enabled by default and must be activated using an
677    environment variable. This is likely to become enabled by default
678    in a future feature release.
679
680  * Support for using the IANA standard names in TLS ciphersuite configuration
681
682  * Multiple new features and improvements to CMP protocol support
683
684The following known issues are present in this release and will be rectified
685in a future release:
686
687  * Provider-based signature algorithms cannot be configured using the
688    SignatureAlgorithms configuration file parameter (#22761)
689
690This release incorporates the following documentation enhancements:
691
692  * Added multiple tutorials on the OpenSSL library and in particular
693    on writing various clients (using TLS and QUIC protocols) with libssl
694
695    See [OpenSSL Guide].
696
697This release incorporates the following bug fixes and mitigations:
698
699  * Fixed excessive time spent in DH check / generation with large Q parameter
700    value
701    ([CVE-2023-5678])
702
703A more detailed list of changes in this release can be found in the
704[CHANGES.md] file.
705
706Users interested in using the new QUIC functionality are encouraged to read the
707[README file for QUIC][README-QUIC.md], which provides links to relevant
708documentation and example code.
709
710As always, bug reports and issues relating to OpenSSL can be [filed on our issue
711tracker][issue tracker].
712
713OpenSSL 3.1
714-----------
715
716### Major changes between OpenSSL 3.1.3 and OpenSSL 3.1.4 [24 Oct 2023]
717
718  * Mitigate incorrect resize handling for symmetric cipher keys and IVs.
719    ([CVE-2023-5363])
720
721### Major changes between OpenSSL 3.1.2 and OpenSSL 3.1.3 [19 Sep 2023]
722
723  * Fix POLY1305 MAC implementation corrupting XMM registers on Windows
724    ([CVE-2023-4807])
725
726### Major changes between OpenSSL 3.1.1 and OpenSSL 3.1.2 [1 Aug 2023]
727
728  * Fix excessive time spent checking DH q parameter value ([CVE-2023-3817])
729  * Fix DH_check() excessive time with over sized modulus ([CVE-2023-3446])
730  * Do not ignore empty associated data entries with AES-SIV ([CVE-2023-2975])
731  * When building with the `enable-fips` option and using the resulting
732    FIPS provider, TLS 1.2 will, by default, mandate the use of an
733    extended master secret and the Hash and HMAC DRBGs will not operate
734    with truncated digests.
735
736### Major changes between OpenSSL 3.1.0 and OpenSSL 3.1.1 [30 May 2023]
737
738  * Mitigate for very slow `OBJ_obj2txt()` performance with gigantic OBJECT
739    IDENTIFIER sub-identities.  ([CVE-2023-2650])
740  * Fixed buffer overread in AES-XTS decryption on ARM 64 bit platforms
741    ([CVE-2023-1255])
742  * Fixed documentation of X509_VERIFY_PARAM_add0_policy() ([CVE-2023-0466])
743  * Fixed handling of invalid certificate policies in leaf certificates
744    ([CVE-2023-0465])
745  * Limited the number of nodes created in a policy tree ([CVE-2023-0464])
746
747### Major changes between OpenSSL 3.0 and OpenSSL 3.1.0 [14 Mar 2023]
748
749  * SSL 3, TLS 1.0, TLS 1.1, and DTLS 1.0 only work at security level 0.
750  * Performance enhancements and new platform support including new
751    assembler code algorithm implementations.
752  * Deprecated LHASH statistics functions.
753  * FIPS 140-3 compliance changes.
754
755OpenSSL 3.0
756-----------
757
758### Major changes between OpenSSL 3.0.7 and OpenSSL 3.0.8 [7 Feb 2023]
759
760  * Fixed NULL dereference during PKCS7 data verification ([CVE-2023-0401])
761  * Fixed X.400 address type confusion in X.509 GeneralName ([CVE-2023-0286])
762  * Fixed NULL dereference validating DSA public key ([CVE-2023-0217])
763  * Fixed Invalid pointer dereference in d2i_PKCS7 functions ([CVE-2023-0216])
764  * Fixed Use-after-free following BIO_new_NDEF ([CVE-2023-0215])
765  * Fixed Double free after calling PEM_read_bio_ex ([CVE-2022-4450])
766  * Fixed Timing Oracle in RSA Decryption ([CVE-2022-4304])
767  * Fixed X.509 Name Constraints Read Buffer Overflow ([CVE-2022-4203])
768  * Fixed X.509 Policy Constraints Double Locking ([CVE-2022-3996])
769
770### Major changes between OpenSSL 3.0.6 and OpenSSL 3.0.7 [1 Nov 2022]
771
772  * Added RIPEMD160 to the default provider.
773  * Fixed regressions introduced in 3.0.6 version.
774  * Fixed two buffer overflows in punycode decoding functions.
775    ([CVE-2022-3786]) and ([CVE-2022-3602])
776
777### Major changes between OpenSSL 3.0.5 and OpenSSL 3.0.6 [11 Oct 2022]
778
779  * Fix for custom ciphers to prevent accidental use of NULL encryption
780    ([CVE-2022-3358])
781
782### Major changes between OpenSSL 3.0.4 and OpenSSL 3.0.5 [5 Jul 2022]
783
784  * Fixed heap memory corruption with RSA private key operation
785    ([CVE-2022-2274])
786  * Fixed AES OCB failure to encrypt some bytes on 32-bit x86 platforms
787    ([CVE-2022-2097])
788
789### Major changes between OpenSSL 3.0.3 and OpenSSL 3.0.4 [21 Jun 2022]
790
791  * Fixed additional bugs in the c_rehash script which was not properly
792    sanitising shell metacharacters to prevent command injection
793    ([CVE-2022-2068])
794
795### Major changes between OpenSSL 3.0.2 and OpenSSL 3.0.3 [3 May 2022]
796
797  * Fixed a bug in the c_rehash script which was not properly sanitising shell
798    metacharacters to prevent command injection ([CVE-2022-1292])
799  * Fixed a bug in the function `OCSP_basic_verify` that verifies the signer
800    certificate on an OCSP response ([CVE-2022-1343])
801  * Fixed a bug where the RC4-MD5 ciphersuite incorrectly used the
802    AAD data as the MAC key ([CVE-2022-1434])
803  * Fix a bug in the OPENSSL_LH_flush() function that breaks reuse of the memory
804    occupied by the removed hash table entries ([CVE-2022-1473])
805
806### Major changes between OpenSSL 3.0.1 and OpenSSL 3.0.2 [15 Mar 2022]
807
808  * Fixed a bug in the BN_mod_sqrt() function that can cause it to loop forever
809    for non-prime moduli ([CVE-2022-0778])
810
811### Major changes between OpenSSL 3.0.0 and OpenSSL 3.0.1 [14 Dec 2021]
812
813  * Fixed carry bug in BN_mod_exp which may produce incorrect results on MIPS
814    ([CVE-2021-4160])
815  * Fixed invalid handling of X509_verify_cert() internal errors in libssl
816    ([CVE-2021-4044])
817  * Allow fetching an operation from the provider that owns an unexportable key
818    as a fallback if that is still allowed by the property query.
819
820### Major changes between OpenSSL 1.1.1 and OpenSSL 3.0.0 [7 sep 2021]
821
822  * Enhanced 'openssl list' with many new options.
823  * Added migration guide to man7.
824  * Implemented support for fully "pluggable" TLSv1.3 groups.
825  * Added support for Kernel TLS (KTLS).
826  * Changed the license to the Apache License v2.0.
827  * Moved all variations of the EVP ciphers CAST5, BF, IDEA, SEED, RC2,
828    RC4, RC5, and DES to the legacy provider.
829  * Moved the EVP digests MD2, MD4, MDC2, WHIRLPOOL and RIPEMD-160 to the legacy
830    provider.
831  * Added convenience functions for generating asymmetric key pairs.
832  * Deprecated the `OCSP_REQ_CTX` type and functions.
833  * Deprecated the `EC_KEY` and `EC_KEY_METHOD` types and functions.
834  * Deprecated the `RSA` and `RSA_METHOD` types and functions.
835  * Deprecated the `DSA` and `DSA_METHOD` types and functions.
836  * Deprecated the `DH` and `DH_METHOD` types and functions.
837  * Deprecated the `ERR_load_` functions.
838  * Remove the `RAND_DRBG` API.
839  * Deprecated the `ENGINE` API.
840  * Added `OSSL_LIB_CTX`, a libcrypto library context.
841  * Added various `_ex` functions to the OpenSSL API that support using
842    a non-default `OSSL_LIB_CTX`.
843  * Interactive mode is removed from the 'openssl' program.
844  * The X25519, X448, Ed25519, Ed448, SHAKE128 and SHAKE256 algorithms are
845    included in the FIPS provider.
846  * X509 certificates signed using SHA1 are no longer allowed at security
847    level 1 or higher. The default security level for TLS is 1, so
848    certificates signed using SHA1 are by default no longer trusted to
849    authenticate servers or clients.
850  * enable-crypto-mdebug and enable-crypto-mdebug-backtrace were mostly
851    disabled; the project uses address sanitize/leak-detect instead.
852  * Added a Certificate Management Protocol (CMP, RFC 4210) implementation
853    also covering CRMF (RFC 4211) and HTTP transfer (RFC 6712).
854    It is part of the crypto lib and adds a 'cmp' app with a demo configuration.
855    All widely used CMP features are supported for both clients and servers.
856  * Added a proper HTTP client supporting GET with optional redirection, POST,
857    arbitrary request and response content types, TLS, persistent connections,
858    connections via HTTP(s) proxies, connections and exchange via user-defined
859    BIOs (allowing implicit connections), and timeout checks.
860  * Added util/check-format.pl for checking adherence to the coding guidelines.
861  * Added OSSL_ENCODER, a generic encoder API.
862  * Added OSSL_DECODER, a generic decoder API.
863  * Added OSSL_PARAM_BLD, an easier to use API to OSSL_PARAM.
864  * Added error raising macros, ERR_raise() and ERR_raise_data().
865  * Deprecated ERR_put_error(), ERR_get_error_line(), ERR_get_error_line_data(),
866    ERR_peek_error_line_data(), ERR_peek_last_error_line_data() and
867    ERR_func_error_string().
868  * Added OSSL_PROVIDER_available(), to check provider availability.
869  * Added 'openssl mac' that uses the EVP_MAC API.
870  * Added 'openssl kdf' that uses the EVP_KDF API.
871  * Add OPENSSL_info() and 'openssl info' to get built-in data.
872  * Add support for enabling instrumentation through trace and debug
873    output.
874  * Changed our version number scheme and set the next major release to
875    3.0.0
876  * Added EVP_MAC, an EVP layer MAC API, and a generic EVP_PKEY to EVP_MAC
877    bridge.  Supported MACs are: BLAKE2, CMAC, GMAC, HMAC, KMAC, POLY1305
878    and SIPHASH.
879  * Removed the heartbeat message in DTLS feature.
880  * Added EVP_KDF, an EVP layer KDF and PRF API, and a generic EVP_PKEY to
881    EVP_KDF bridge.  Supported KDFs are: HKDF, KBKDF, KRB5 KDF, PBKDF2,
882    PKCS12 KDF, SCRYPT, SSH KDF, SSKDF, TLS1 PRF, X9.42 KDF and X9.63 KDF.
883  * All of the low-level MD2, MD4, MD5, MDC2, RIPEMD160, SHA1, SHA224,
884    SHA256, SHA384, SHA512 and Whirlpool digest functions have been
885    deprecated.
886  * All of the low-level AES, Blowfish, Camellia, CAST, DES, IDEA, RC2,
887    RC4, RC5 and SEED cipher functions have been deprecated.
888  * All of the low-level DH, DSA, ECDH, ECDSA and RSA public key functions
889    have been deprecated.
890  * SSL 3, TLS 1.0, TLS 1.1, and DTLS 1.0 only work at security level 0,
891    except when RSA key exchange without SHA1 is used.
892  * Added providers, a new pluggability concept that will replace the
893    ENGINE API and ENGINE implementations.
894
895OpenSSL 1.1.1
896-------------
897
898### Major changes between OpenSSL 1.1.1k and OpenSSL 1.1.1l [24 Aug 2021]
899
900  * Fixed an SM2 Decryption Buffer Overflow ([CVE-2021-3711])
901  * Fixed various read buffer overruns processing ASN.1 strings ([CVE-2021-3712])
902
903### Major changes between OpenSSL 1.1.1j and OpenSSL 1.1.1k [25 Mar 2021]
904
905  * Fixed a problem with verifying a certificate chain when using the
906    X509_V_FLAG_X509_STRICT flag ([CVE-2021-3450])
907  * Fixed an issue where an OpenSSL TLS server may crash if sent a maliciously
908    crafted renegotiation ClientHello message from a client ([CVE-2021-3449])
909
910### Major changes between OpenSSL 1.1.1i and OpenSSL 1.1.1j [16 Feb 2021]
911
912  * Fixed a NULL pointer deref in the X509_issuer_and_serial_hash()
913    function ([CVE-2021-23841])
914  * Fixed the RSA_padding_check_SSLv23() function and the RSA_SSLV23_PADDING
915    padding mode to correctly check for rollback attacks
916  * Fixed an overflow in the EVP_CipherUpdate, EVP_EncryptUpdate and
917    EVP_DecryptUpdate functions ([CVE-2021-23840])
918  * Fixed SRP_Calc_client_key so that it runs in constant time
919
920### Major changes between OpenSSL 1.1.1h and OpenSSL 1.1.1i [8 Dec 2020]
921
922  * Fixed NULL pointer deref in GENERAL_NAME_cmp ([CVE-2020-1971])
923
924### Major changes between OpenSSL 1.1.1g and OpenSSL 1.1.1h [22 Sep 2020]
925
926  * Disallow explicit curve parameters in verifications chains when
927    X509_V_FLAG_X509_STRICT is used
928  * Enable 'MinProtocol' and 'MaxProtocol' to configure both TLS and DTLS
929    contexts
930  * Oracle Developer Studio will start reporting deprecation warnings
931
932### Major changes between OpenSSL 1.1.1f and OpenSSL 1.1.1g [21 Apr 2020]
933
934  * Fixed segmentation fault in SSL_check_chain() ([CVE-2020-1967])
935
936### Major changes between OpenSSL 1.1.1e and OpenSSL 1.1.1f [31 Mar 2020]
937
938  * Revert the unexpected EOF reporting via SSL_ERROR_SSL
939
940### Major changes between OpenSSL 1.1.1d and OpenSSL 1.1.1e [17 Mar 2020]
941
942  * Fixed an overflow bug in the x86_64 Montgomery squaring procedure
943    used in exponentiation with 512-bit moduli ([CVE-2019-1551])
944
945### Major changes between OpenSSL 1.1.1c and OpenSSL 1.1.1d [10 Sep 2019]
946
947  * Fixed a fork protection issue ([CVE-2019-1549])
948  * Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey
949    ([CVE-2019-1563])
950  * For built-in EC curves, ensure an EC_GROUP built from the curve name is
951    used even when parsing explicit parameters
952  * Compute ECC cofactors if not provided during EC_GROUP construction
953    ([CVE-2019-1547])
954  * Early start up entropy quality from the DEVRANDOM seed source has been
955    improved for older Linux systems
956  * Correct the extended master secret constant on EBCDIC systems
957  * Use Windows installation paths in the mingw builds ([CVE-2019-1552])
958  * Changed DH_check to accept parameters with order q and 2q subgroups
959  * Significantly reduce secure memory usage by the randomness pools
960  * Revert the DEVRANDOM_WAIT feature for Linux systems
961
962### Major changes between OpenSSL 1.1.1b and OpenSSL 1.1.1c [28 May 2019]
963
964  * Prevent over long nonces in ChaCha20-Poly1305 ([CVE-2019-1543])
965
966### Major changes between OpenSSL 1.1.1a and OpenSSL 1.1.1b [26 Feb 2019]
967
968  * Change the info callback signals for the start and end of a post-handshake
969    message exchange in TLSv1.3.
970  * Fix a bug in DTLS over SCTP. This breaks interoperability with older
971    versions of OpenSSL like OpenSSL 1.1.0 and OpenSSL 1.0.2.
972
973### Major changes between OpenSSL 1.1.1 and OpenSSL 1.1.1a [20 Nov 2018]
974
975  * Timing vulnerability in DSA signature generation ([CVE-2018-0734])
976  * Timing vulnerability in ECDSA signature generation ([CVE-2018-0735])
977
978### Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.1 [11 Sep 2018]
979
980  * Support for TLSv1.3 added. The TLSv1.3 implementation includes:
981    * Fully compliant implementation of RFC8446 (TLSv1.3) on by default
982    * Early data (0-RTT)
983    * Post-handshake authentication and key update
984    * Middlebox Compatibility Mode
985    * TLSv1.3 PSKs
986    * Support for all five RFC8446 ciphersuites
987    * RSA-PSS signature algorithms (backported to TLSv1.2)
988    * Configurable session ticket support
989    * Stateless server support
990    * Rewrite of the packet construction code for "safer" packet handling
991    * Rewrite of the extension handling code
992    For further important information, see the [TLS1.3 page](
993    https://github.com/openssl/openssl/wiki/TLS1.3) in the OpenSSL Wiki.
994
995  * Complete rewrite of the OpenSSL random number generator to introduce the
996    following capabilities
997      * The default RAND method now utilizes an AES-CTR DRBG according to
998        NIST standard SP 800-90Ar1.
999      * Support for multiple DRBG instances with seed chaining.
1000      * There is a public and private DRBG instance.
1001      * The DRBG instances are fork-safe.
1002      * Keep all global DRBG instances on the secure heap if it is enabled.
1003      * The public and private DRBG instance are per thread for lock free
1004      operation
1005  * Support for various new cryptographic algorithms including:
1006      * SHA3
1007      * SHA512/224 and SHA512/256
1008      * EdDSA (both Ed25519 and Ed448) including X509 and TLS support
1009      * X448 (adding to the existing X25519 support in 1.1.0)
1010      * Multi-prime RSA
1011      * SM2
1012      * SM3
1013      * SM4
1014      * SipHash
1015      * ARIA (including TLS support)
1016  * Significant Side-Channel attack security improvements
1017  * Add a new ClientHello callback to provide the ability to adjust the SSL
1018  object at an early stage.
1019  * Add 'Maximum Fragment Length' TLS extension negotiation and support
1020  * A new STORE module, which implements a uniform and URI based reader of
1021   stores that can contain keys, certificates, CRLs and numerous other
1022  objects.
1023  * Move the display of configuration data to configdata.pm.
1024  * Allow GNU style "make variables" to be used with Configure.
1025  * Claim the namespaces OSSL and OPENSSL, represented as symbol prefixes
1026  * Rewrite of devcrypto engine
1027
1028OpenSSL 1.1.0
1029-------------
1030
1031### Major changes between OpenSSL 1.1.0k and OpenSSL 1.1.0l [10 Sep 2019]
1032
1033  * Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey
1034    ([CVE-2019-1563])
1035  * For built-in EC curves, ensure an EC_GROUP built from the curve name is
1036    used even when parsing explicit parameters
1037  * Compute ECC cofactors if not provided during EC_GROUP construction
1038    ([CVE-2019-1547])
1039  * Use Windows installation paths in the mingw builds ([CVE-2019-1552])
1040
1041### Major changes between OpenSSL 1.1.0j and OpenSSL 1.1.0k [28 May 2019]
1042
1043  * Prevent over long nonces in ChaCha20-Poly1305 ([CVE-2019-1543])
1044
1045### Major changes between OpenSSL 1.1.0i and OpenSSL 1.1.0j [20 Nov 2018]
1046
1047  * Timing vulnerability in DSA signature generation ([CVE-2018-0734])
1048  * Timing vulnerability in ECDSA signature generation ([CVE-2018-0735])
1049
1050### Major changes between OpenSSL 1.1.0h and OpenSSL 1.1.0i [14 Aug 2018]
1051
1052  * Client DoS due to large DH parameter ([CVE-2018-0732])
1053  * Cache timing vulnerability in RSA Key Generation ([CVE-2018-0737])
1054
1055### Major changes between OpenSSL 1.1.0g and OpenSSL 1.1.0h [27 Mar 2018]
1056
1057  * Constructed ASN.1 types with a recursive definition could exceed the
1058    stack ([CVE-2018-0739])
1059  * Incorrect CRYPTO_memcmp on HP-UX PA-RISC ([CVE-2018-0733])
1060  * rsaz_1024_mul_avx2 overflow bug on x86_64 ([CVE-2017-3738])
1061
1062### Major changes between OpenSSL 1.1.0f and OpenSSL 1.1.0g [2 Nov 2017]
1063
1064  * bn_sqrx8x_internal carry bug on x86_64 ([CVE-2017-3736])
1065  * Malformed X.509 IPAddressFamily could cause OOB read ([CVE-2017-3735])
1066
1067### Major changes between OpenSSL 1.1.0e and OpenSSL 1.1.0f [25 May 2017]
1068
1069  * config now recognises 64-bit mingw and chooses mingw64 instead of mingw
1070
1071### Major changes between OpenSSL 1.1.0d and OpenSSL 1.1.0e [16 Feb 2017]
1072
1073  * Encrypt-Then-Mac renegotiation crash ([CVE-2017-3733])
1074
1075### Major changes between OpenSSL 1.1.0c and OpenSSL 1.1.0d [26 Jan 2017]
1076
1077  * Truncated packet could crash via OOB read ([CVE-2017-3731])
1078  * Bad (EC)DHE parameters cause a client crash ([CVE-2017-3730])
1079  * BN_mod_exp may produce incorrect results on x86_64 ([CVE-2017-3732])
1080
1081### Major changes between OpenSSL 1.1.0b and OpenSSL 1.1.0c [10 Nov 2016]
1082
1083  * ChaCha20/Poly1305 heap-buffer-overflow ([CVE-2016-7054])
1084  * CMS Null dereference ([CVE-2016-7053])
1085  * Montgomery multiplication may produce incorrect results ([CVE-2016-7055])
1086
1087### Major changes between OpenSSL 1.1.0a and OpenSSL 1.1.0b [26 Sep 2016]
1088
1089  * Fix Use After Free for large message sizes ([CVE-2016-6309])
1090
1091### Major changes between OpenSSL 1.1.0 and OpenSSL 1.1.0a [22 Sep 2016]
1092
1093  * OCSP Status Request extension unbounded memory growth ([CVE-2016-6304])
1094  * SSL_peek() hang on empty record ([CVE-2016-6305])
1095  * Excessive allocation of memory in tls_get_message_header()
1096    ([CVE-2016-6307])
1097  * Excessive allocation of memory in dtls1_preprocess_fragment()
1098    ([CVE-2016-6308])
1099
1100### Major changes between OpenSSL 1.0.2h and OpenSSL 1.1.0 [25 Aug 2016]
1101
1102  * Copyright text was shrunk to a boilerplate that points to the license
1103  * "shared" builds are now the default when possible
1104  * Added support for "pipelining"
1105  * Added the AFALG engine
1106  * New threading API implemented
1107  * Support for ChaCha20 and Poly1305 added to libcrypto and libssl
1108  * Support for extended master secret
1109  * CCM ciphersuites
1110  * Reworked test suite, now based on perl, Test::Harness and Test::More
1111  * *Most* libcrypto and libssl public structures were made opaque,
1112    including:
1113    BIGNUM and associated types, EC_KEY and EC_KEY_METHOD,
1114    DH and DH_METHOD, DSA and DSA_METHOD, RSA and RSA_METHOD,
1115    BIO and BIO_METHOD, EVP_MD_CTX, EVP_MD, EVP_CIPHER_CTX,
1116    EVP_CIPHER, EVP_PKEY and associated types, HMAC_CTX,
1117    X509, X509_CRL, X509_OBJECT, X509_STORE_CTX, X509_STORE,
1118    X509_LOOKUP, X509_LOOKUP_METHOD
1119  * libssl internal structures made opaque
1120  * SSLv2 support removed
1121  * Kerberos ciphersuite support removed
1122  * RC4 removed from DEFAULT ciphersuites in libssl
1123  * 40 and 56 bit cipher support removed from libssl
1124  * All public header files moved to include/openssl, no more symlinking
1125  * SSL/TLS state machine, version negotiation and record layer rewritten
1126  * EC revision: now operations use new EC_KEY_METHOD.
1127  * Support for OCB mode added to libcrypto
1128  * Support for asynchronous crypto operations added to libcrypto and libssl
1129  * Deprecated interfaces can now be disabled at build time either
1130    relative to the latest release via the "no-deprecated" Configure
1131    argument, or via the "--api=1.1.0|1.0.0|0.9.8" option.
1132  * Application software can be compiled with -DOPENSSL_API_COMPAT=version
1133    to ensure that features deprecated in that version are not exposed.
1134  * Support for RFC6698/RFC7671 DANE TLSA peer authentication
1135  * Change of Configure to use --prefix as the main installation
1136    directory location rather than --openssldir.  The latter becomes
1137    the directory for certs, private key and openssl.cnf exclusively.
1138  * Reworked BIO networking library, with full support for IPv6.
1139  * New "unified" build system
1140  * New security levels
1141  * Support for scrypt algorithm
1142  * Support for X25519
1143  * Extended SSL_CONF support using configuration files
1144  * KDF algorithm support. Implement TLS PRF as a KDF.
1145  * Support for Certificate Transparency
1146  * HKDF support.
1147
1148OpenSSL 1.0.2
1149-------------
1150
1151### Major changes between OpenSSL 1.0.2s and OpenSSL 1.0.2t [10 Sep 2019]
1152
1153  * Fixed a padding oracle in PKCS7_dataDecode and CMS_decrypt_set1_pkey
1154    ([CVE-2019-1563])
1155  * For built-in EC curves, ensure an EC_GROUP built from the curve name is
1156    used even when parsing explicit parameters
1157  * Compute ECC cofactors if not provided during EC_GROUP construction
1158    ([CVE-2019-1547])
1159  * Document issue with installation paths in diverse Windows builds
1160    ([CVE-2019-1552])
1161
1162### Major changes between OpenSSL 1.0.2r and OpenSSL 1.0.2s [28 May 2019]
1163
1164  * None
1165
1166### Major changes between OpenSSL 1.0.2q and OpenSSL 1.0.2r [26 Feb 2019]
1167
1168  * 0-byte record padding oracle ([CVE-2019-1559])
1169
1170### Major changes between OpenSSL 1.0.2p and OpenSSL 1.0.2q [20 Nov 2018]
1171
1172  * Microarchitecture timing vulnerability in ECC scalar multiplication ([CVE-2018-5407])
1173  * Timing vulnerability in DSA signature generation ([CVE-2018-0734])
1174
1175### Major changes between OpenSSL 1.0.2o and OpenSSL 1.0.2p [14 Aug 2018]
1176
1177  * Client DoS due to large DH parameter ([CVE-2018-0732])
1178  * Cache timing vulnerability in RSA Key Generation ([CVE-2018-0737])
1179
1180### Major changes between OpenSSL 1.0.2n and OpenSSL 1.0.2o [27 Mar 2018]
1181
1182  * Constructed ASN.1 types with a recursive definition could exceed the
1183    stack ([CVE-2018-0739])
1184
1185### Major changes between OpenSSL 1.0.2m and OpenSSL 1.0.2n [7 Dec 2017]
1186
1187  * Read/write after SSL object in error state ([CVE-2017-3737])
1188  * rsaz_1024_mul_avx2 overflow bug on x86_64 ([CVE-2017-3738])
1189
1190### Major changes between OpenSSL 1.0.2l and OpenSSL 1.0.2m [2 Nov 2017]
1191
1192  * bn_sqrx8x_internal carry bug on x86_64 ([CVE-2017-3736])
1193  * Malformed X.509 IPAddressFamily could cause OOB read ([CVE-2017-3735])
1194
1195### Major changes between OpenSSL 1.0.2k and OpenSSL 1.0.2l [25 May 2017]
1196
1197  * config now recognises 64-bit mingw and chooses mingw64 instead of mingw
1198
1199### Major changes between OpenSSL 1.0.2j and OpenSSL 1.0.2k [26 Jan 2017]
1200
1201  * Truncated packet could crash via OOB read ([CVE-2017-3731])
1202  * BN_mod_exp may produce incorrect results on x86_64 ([CVE-2017-3732])
1203  * Montgomery multiplication may produce incorrect results ([CVE-2016-7055])
1204
1205### Major changes between OpenSSL 1.0.2i and OpenSSL 1.0.2j [26 Sep 2016]
1206
1207  * Missing CRL sanity check ([CVE-2016-7052])
1208
1209### Major changes between OpenSSL 1.0.2h and OpenSSL 1.0.2i [22 Sep 2016]
1210
1211  * OCSP Status Request extension unbounded memory growth ([CVE-2016-6304])
1212  * SWEET32 Mitigation ([CVE-2016-2183])
1213  * OOB write in MDC2_Update() ([CVE-2016-6303])
1214  * Malformed SHA512 ticket DoS ([CVE-2016-6302])
1215  * OOB write in BN_bn2dec() ([CVE-2016-2182])
1216  * OOB read in TS_OBJ_print_bio() ([CVE-2016-2180])
1217  * Pointer arithmetic undefined behaviour ([CVE-2016-2177])
1218  * Constant time flag not preserved in DSA signing ([CVE-2016-2178])
1219  * DTLS buffered message DoS ([CVE-2016-2179])
1220  * DTLS replay protection DoS ([CVE-2016-2181])
1221  * Certificate message OOB reads ([CVE-2016-6306])
1222
1223### Major changes between OpenSSL 1.0.2g and OpenSSL 1.0.2h [3 May 2016]
1224
1225  * Prevent padding oracle in AES-NI CBC MAC check ([CVE-2016-2107])
1226  * Fix EVP_EncodeUpdate overflow ([CVE-2016-2105])
1227  * Fix EVP_EncryptUpdate overflow ([CVE-2016-2106])
1228  * Prevent ASN.1 BIO excessive memory allocation ([CVE-2016-2109])
1229  * EBCDIC overread ([CVE-2016-2176])
1230  * Modify behavior of ALPN to invoke callback after SNI/servername
1231    callback, such that updates to the SSL_CTX affect ALPN.
1232  * Remove LOW from the DEFAULT cipher list.  This removes singles DES from
1233    the default.
1234  * Only remove the SSLv2 methods with the no-ssl2-method option.
1235
1236### Major changes between OpenSSL 1.0.2f and OpenSSL 1.0.2g [1 Mar 2016]
1237
1238  * Disable weak ciphers in SSLv3 and up in default builds of OpenSSL.
1239  * Disable SSLv2 default build, default negotiation and weak ciphers
1240    ([CVE-2016-0800])
1241  * Fix a double-free in DSA code ([CVE-2016-0705])
1242  * Disable SRP fake user seed to address a server memory leak
1243    ([CVE-2016-0798])
1244  * Fix BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
1245    ([CVE-2016-0797])
1246  * Fix memory issues in BIO_*printf functions ([CVE-2016-0799])
1247  * Fix side channel attack on modular exponentiation ([CVE-2016-0702])
1248
1249### Major changes between OpenSSL 1.0.2e and OpenSSL 1.0.2f [28 Jan 2016]
1250
1251  * DH small subgroups ([CVE-2016-0701])
1252  * SSLv2 doesn't block disabled ciphers ([CVE-2015-3197])
1253
1254### Major changes between OpenSSL 1.0.2d and OpenSSL 1.0.2e [3 Dec 2015]
1255
1256  * BN_mod_exp may produce incorrect results on x86_64 ([CVE-2015-3193])
1257  * Certificate verify crash with missing PSS parameter ([CVE-2015-3194])
1258  * X509_ATTRIBUTE memory leak ([CVE-2015-3195])
1259  * Rewrite EVP_DecodeUpdate (base64 decoding) to fix several bugs
1260  * In DSA_generate_parameters_ex, if the provided seed is too short,
1261    return an error
1262
1263### Major changes between OpenSSL 1.0.2c and OpenSSL 1.0.2d [9 Jul 2015]
1264
1265  * Alternate chains certificate forgery ([CVE-2015-1793])
1266  * Race condition handling PSK identify hint ([CVE-2015-3196])
1267
1268### Major changes between OpenSSL 1.0.2b and OpenSSL 1.0.2c [12 Jun 2015]
1269
1270  * Fix HMAC ABI incompatibility
1271
1272### Major changes between OpenSSL 1.0.2a and OpenSSL 1.0.2b [11 Jun 2015]
1273
1274  * Malformed ECParameters causes infinite loop ([CVE-2015-1788])
1275  * Exploitable out-of-bounds read in X509_cmp_time ([CVE-2015-1789])
1276  * PKCS7 crash with missing EnvelopedContent ([CVE-2015-1790])
1277  * CMS verify infinite loop with unknown hash function ([CVE-2015-1792])
1278  * Race condition handling NewSessionTicket ([CVE-2015-1791])
1279
1280### Major changes between OpenSSL 1.0.2 and OpenSSL 1.0.2a [19 Mar 2015]
1281
1282  * OpenSSL 1.0.2 ClientHello sigalgs DoS fix ([CVE-2015-0291])
1283  * Multiblock corrupted pointer fix ([CVE-2015-0290])
1284  * Segmentation fault in DTLSv1_listen fix ([CVE-2015-0207])
1285  * Segmentation fault in ASN1_TYPE_cmp fix ([CVE-2015-0286])
1286  * Segmentation fault for invalid PSS parameters fix ([CVE-2015-0208])
1287  * ASN.1 structure reuse memory corruption fix ([CVE-2015-0287])
1288  * PKCS7 NULL pointer dereferences fix ([CVE-2015-0289])
1289  * DoS via reachable assert in SSLv2 servers fix ([CVE-2015-0293])
1290  * Empty CKE with client auth and DHE fix ([CVE-2015-1787])
1291  * Handshake with unseeded PRNG fix ([CVE-2015-0285])
1292  * Use After Free following d2i_ECPrivatekey error fix ([CVE-2015-0209])
1293  * X509_to_X509_REQ NULL pointer deref fix ([CVE-2015-0288])
1294  * Removed the export ciphers from the DEFAULT ciphers
1295
1296### Major changes between OpenSSL 1.0.1l and OpenSSL 1.0.2 [22 Jan 2015]
1297
1298  * Suite B support for TLS 1.2 and DTLS 1.2
1299  * Support for DTLS 1.2
1300  * TLS automatic EC curve selection.
1301  * API to set TLS supported signature algorithms and curves
1302  * SSL_CONF configuration API.
1303  * TLS Brainpool support.
1304  * ALPN support.
1305  * CMS support for RSA-PSS, RSA-OAEP, ECDH and X9.42 DH.
1306
1307OpenSSL 1.0.1
1308-------------
1309
1310### Major changes between OpenSSL 1.0.1t and OpenSSL 1.0.1u [22 Sep 2016]
1311
1312  * OCSP Status Request extension unbounded memory growth ([CVE-2016-6304])
1313  * SWEET32 Mitigation ([CVE-2016-2183])
1314  * OOB write in MDC2_Update() ([CVE-2016-6303])
1315  * Malformed SHA512 ticket DoS ([CVE-2016-6302])
1316  * OOB write in BN_bn2dec() ([CVE-2016-2182])
1317  * OOB read in TS_OBJ_print_bio() ([CVE-2016-2180])
1318  * Pointer arithmetic undefined behaviour ([CVE-2016-2177])
1319  * Constant time flag not preserved in DSA signing ([CVE-2016-2178])
1320  * DTLS buffered message DoS ([CVE-2016-2179])
1321  * DTLS replay protection DoS ([CVE-2016-2181])
1322  * Certificate message OOB reads ([CVE-2016-6306])
1323
1324### Major changes between OpenSSL 1.0.1s and OpenSSL 1.0.1t [3 May 2016]
1325
1326  * Prevent padding oracle in AES-NI CBC MAC check ([CVE-2016-2107])
1327  * Fix EVP_EncodeUpdate overflow ([CVE-2016-2105])
1328  * Fix EVP_EncryptUpdate overflow ([CVE-2016-2106])
1329  * Prevent ASN.1 BIO excessive memory allocation ([CVE-2016-2109])
1330  * EBCDIC overread ([CVE-2016-2176])
1331  * Modify behavior of ALPN to invoke callback after SNI/servername
1332    callback, such that updates to the SSL_CTX affect ALPN.
1333  * Remove LOW from the DEFAULT cipher list.  This removes singles DES from
1334    the default.
1335  * Only remove the SSLv2 methods with the no-ssl2-method option.
1336
1337### Major changes between OpenSSL 1.0.1r and OpenSSL 1.0.1s [1 Mar 2016]
1338
1339  * Disable weak ciphers in SSLv3 and up in default builds of OpenSSL.
1340  * Disable SSLv2 default build, default negotiation and weak ciphers
1341    ([CVE-2016-0800])
1342  * Fix a double-free in DSA code ([CVE-2016-0705])
1343  * Disable SRP fake user seed to address a server memory leak
1344    ([CVE-2016-0798])
1345  * Fix BN_hex2bn/BN_dec2bn NULL pointer deref/heap corruption
1346    ([CVE-2016-0797])
1347  * Fix memory issues in BIO_*printf functions ([CVE-2016-0799])
1348  * Fix side channel attack on modular exponentiation ([CVE-2016-0702])
1349
1350### Major changes between OpenSSL 1.0.1q and OpenSSL 1.0.1r [28 Jan 2016]
1351
1352  * Protection for DH small subgroup attacks
1353  * SSLv2 doesn't block disabled ciphers ([CVE-2015-3197])
1354
1355### Major changes between OpenSSL 1.0.1p and OpenSSL 1.0.1q [3 Dec 2015]
1356
1357  * Certificate verify crash with missing PSS parameter ([CVE-2015-3194])
1358  * X509_ATTRIBUTE memory leak ([CVE-2015-3195])
1359  * Rewrite EVP_DecodeUpdate (base64 decoding) to fix several bugs
1360  * In DSA_generate_parameters_ex, if the provided seed is too short,
1361    return an error
1362
1363### Major changes between OpenSSL 1.0.1o and OpenSSL 1.0.1p [9 Jul 2015]
1364
1365  * Alternate chains certificate forgery ([CVE-2015-1793])
1366  * Race condition handling PSK identify hint ([CVE-2015-3196])
1367
1368### Major changes between OpenSSL 1.0.1n and OpenSSL 1.0.1o [12 Jun 2015]
1369
1370  * Fix HMAC ABI incompatibility
1371
1372### Major changes between OpenSSL 1.0.1m and OpenSSL 1.0.1n [11 Jun 2015]
1373
1374  * Malformed ECParameters causes infinite loop ([CVE-2015-1788])
1375  * Exploitable out-of-bounds read in X509_cmp_time ([CVE-2015-1789])
1376  * PKCS7 crash with missing EnvelopedContent ([CVE-2015-1790])
1377  * CMS verify infinite loop with unknown hash function ([CVE-2015-1792])
1378  * Race condition handling NewSessionTicket ([CVE-2015-1791])
1379
1380### Major changes between OpenSSL 1.0.1l and OpenSSL 1.0.1m [19 Mar 2015]
1381
1382  * Segmentation fault in ASN1_TYPE_cmp fix ([CVE-2015-0286])
1383  * ASN.1 structure reuse memory corruption fix ([CVE-2015-0287])
1384  * PKCS7 NULL pointer dereferences fix ([CVE-2015-0289])
1385  * DoS via reachable assert in SSLv2 servers fix ([CVE-2015-0293])
1386  * Use After Free following d2i_ECPrivatekey error fix ([CVE-2015-0209])
1387  * X509_to_X509_REQ NULL pointer deref fix ([CVE-2015-0288])
1388  * Removed the export ciphers from the DEFAULT ciphers
1389
1390### Major changes between OpenSSL 1.0.1k and OpenSSL 1.0.1l [15 Jan 2015]
1391
1392  * Build fixes for the Windows and OpenVMS platforms
1393
1394### Major changes between OpenSSL 1.0.1j and OpenSSL 1.0.1k [8 Jan 2015]
1395
1396  * Fix for [CVE-2014-3571]
1397  * Fix for [CVE-2015-0206]
1398  * Fix for [CVE-2014-3569]
1399  * Fix for [CVE-2014-3572]
1400  * Fix for [CVE-2015-0204]
1401  * Fix for [CVE-2015-0205]
1402  * Fix for [CVE-2014-8275]
1403  * Fix for [CVE-2014-3570]
1404
1405### Major changes between OpenSSL 1.0.1i and OpenSSL 1.0.1j [15 Oct 2014]
1406
1407  * Fix for [CVE-2014-3513]
1408  * Fix for [CVE-2014-3567]
1409  * Mitigation for [CVE-2014-3566] (SSL protocol vulnerability)
1410  * Fix for [CVE-2014-3568]
1411
1412### Major changes between OpenSSL 1.0.1h and OpenSSL 1.0.1i [6 Aug 2014]
1413
1414  * Fix for [CVE-2014-3512]
1415  * Fix for [CVE-2014-3511]
1416  * Fix for [CVE-2014-3510]
1417  * Fix for [CVE-2014-3507]
1418  * Fix for [CVE-2014-3506]
1419  * Fix for [CVE-2014-3505]
1420  * Fix for [CVE-2014-3509]
1421  * Fix for [CVE-2014-5139]
1422  * Fix for [CVE-2014-3508]
1423
1424### Major changes between OpenSSL 1.0.1g and OpenSSL 1.0.1h [5 Jun 2014]
1425
1426  * Fix for [CVE-2014-0224]
1427  * Fix for [CVE-2014-0221]
1428  * Fix for [CVE-2014-0198]
1429  * Fix for [CVE-2014-0195]
1430  * Fix for [CVE-2014-3470]
1431  * Fix for [CVE-2010-5298]
1432
1433### Major changes between OpenSSL 1.0.1f and OpenSSL 1.0.1g [7 Apr 2014]
1434
1435  * Fix for [CVE-2014-0160]
1436  * Add TLS padding extension workaround for broken servers.
1437  * Fix for [CVE-2014-0076]
1438
1439### Major changes between OpenSSL 1.0.1e and OpenSSL 1.0.1f [6 Jan 2014]
1440
1441  * Don't include gmt_unix_time in TLS server and client random values
1442  * Fix for TLS record tampering bug ([CVE-2013-4353])
1443  * Fix for TLS version checking bug ([CVE-2013-6449])
1444  * Fix for DTLS retransmission bug ([CVE-2013-6450])
1445
1446### Major changes between OpenSSL 1.0.1d and OpenSSL 1.0.1e [11 Feb 2013]
1447
1448  * Corrected fix for ([CVE-2013-0169])
1449
1450### Major changes between OpenSSL 1.0.1c and OpenSSL 1.0.1d [4 Feb 2013]
1451
1452  * Fix renegotiation in TLS 1.1, 1.2 by using the correct TLS version.
1453  * Include the fips configuration module.
1454  * Fix OCSP bad key DoS attack ([CVE-2013-0166])
1455  * Fix for SSL/TLS/DTLS CBC plaintext recovery attack ([CVE-2013-0169])
1456  * Fix for TLS AESNI record handling flaw ([CVE-2012-2686])
1457
1458### Major changes between OpenSSL 1.0.1b and OpenSSL 1.0.1c [10 May 2012]
1459
1460  * Fix TLS/DTLS record length checking bug ([CVE-2012-2333])
1461  * Don't attempt to use non-FIPS composite ciphers in FIPS mode.
1462
1463### Major changes between OpenSSL 1.0.1a and OpenSSL 1.0.1b [26 Apr 2012]
1464
1465  * Fix compilation error on non-x86 platforms.
1466  * Make FIPS capable OpenSSL ciphers work in non-FIPS mode.
1467  * Fix SSL_OP_NO_TLSv1_1 clash with SSL_OP_ALL in OpenSSL 1.0.0
1468
1469### Major changes between OpenSSL 1.0.1 and OpenSSL 1.0.1a [19 Apr 2012]
1470
1471  * Fix for ASN1 overflow bug ([CVE-2012-2110])
1472  * Workarounds for some servers that hang on long client hellos.
1473  * Fix SEGV in AES code.
1474
1475### Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.1 [14 Mar 2012]
1476
1477  * TLS/DTLS heartbeat support.
1478  * SCTP support.
1479  * RFC 5705 TLS key material exporter.
1480  * RFC 5764 DTLS-SRTP negotiation.
1481  * Next Protocol Negotiation.
1482  * PSS signatures in certificates, requests and CRLs.
1483  * Support for password based recipient info for CMS.
1484  * Support TLS v1.2 and TLS v1.1.
1485  * Preliminary FIPS capability for unvalidated 2.0 FIPS module.
1486  * SRP support.
1487
1488OpenSSL 1.0.0
1489-------------
1490
1491### Major changes between OpenSSL 1.0.0s and OpenSSL 1.0.0t [3 Dec 2015]
1492
1493  * X509_ATTRIBUTE memory leak (([CVE-2015-3195]))
1494  * Race condition handling PSK identify hint ([CVE-2015-3196])
1495
1496### Major changes between OpenSSL 1.0.0r and OpenSSL 1.0.0s [11 Jun 2015]
1497
1498  * Malformed ECParameters causes infinite loop ([CVE-2015-1788])
1499  * Exploitable out-of-bounds read in X509_cmp_time ([CVE-2015-1789])
1500  * PKCS7 crash with missing EnvelopedContent ([CVE-2015-1790])
1501  * CMS verify infinite loop with unknown hash function ([CVE-2015-1792])
1502  * Race condition handling NewSessionTicket ([CVE-2015-1791])
1503
1504### Major changes between OpenSSL 1.0.0q and OpenSSL 1.0.0r [19 Mar 2015]
1505
1506  * Segmentation fault in ASN1_TYPE_cmp fix ([CVE-2015-0286])
1507  * ASN.1 structure reuse memory corruption fix ([CVE-2015-0287])
1508  * PKCS7 NULL pointer dereferences fix ([CVE-2015-0289])
1509  * DoS via reachable assert in SSLv2 servers fix ([CVE-2015-0293])
1510  * Use After Free following d2i_ECPrivatekey error fix ([CVE-2015-0209])
1511  * X509_to_X509_REQ NULL pointer deref fix ([CVE-2015-0288])
1512  * Removed the export ciphers from the DEFAULT ciphers
1513
1514### Major changes between OpenSSL 1.0.0p and OpenSSL 1.0.0q [15 Jan 2015]
1515
1516  * Build fixes for the Windows and OpenVMS platforms
1517
1518### Major changes between OpenSSL 1.0.0o and OpenSSL 1.0.0p [8 Jan 2015]
1519
1520  * Fix for [CVE-2014-3571]
1521  * Fix for [CVE-2015-0206]
1522  * Fix for [CVE-2014-3569]
1523  * Fix for [CVE-2014-3572]
1524  * Fix for [CVE-2015-0204]
1525  * Fix for [CVE-2015-0205]
1526  * Fix for [CVE-2014-8275]
1527  * Fix for [CVE-2014-3570]
1528
1529### Major changes between OpenSSL 1.0.0n and OpenSSL 1.0.0o [15 Oct 2014]
1530
1531  * Fix for [CVE-2014-3513]
1532  * Fix for [CVE-2014-3567]
1533  * Mitigation for [CVE-2014-3566] (SSL protocol vulnerability)
1534  * Fix for [CVE-2014-3568]
1535
1536### Major changes between OpenSSL 1.0.0m and OpenSSL 1.0.0n [6 Aug 2014]
1537
1538  * Fix for [CVE-2014-3510]
1539  * Fix for [CVE-2014-3507]
1540  * Fix for [CVE-2014-3506]
1541  * Fix for [CVE-2014-3505]
1542  * Fix for [CVE-2014-3509]
1543  * Fix for [CVE-2014-3508]
1544
1545  Known issues in OpenSSL 1.0.0m:
1546
1547  * EAP-FAST and other applications using tls_session_secret_cb
1548    won't resume sessions. Fixed in 1.0.0n-dev
1549  * Compilation failure of s3_pkt.c on some platforms due to missing
1550    `<limits.h>` include. Fixed in 1.0.0n-dev
1551
1552### Major changes between OpenSSL 1.0.0l and OpenSSL 1.0.0m [5 Jun 2014]
1553
1554  * Fix for [CVE-2014-0224]
1555  * Fix for [CVE-2014-0221]
1556  * Fix for [CVE-2014-0198]
1557  * Fix for [CVE-2014-0195]
1558  * Fix for [CVE-2014-3470]
1559  * Fix for [CVE-2014-0076]
1560  * Fix for [CVE-2010-5298]
1561
1562### Major changes between OpenSSL 1.0.0k and OpenSSL 1.0.0l [6 Jan 2014]
1563
1564  * Fix for DTLS retransmission bug ([CVE-2013-6450])
1565
1566### Major changes between OpenSSL 1.0.0j and OpenSSL 1.0.0k [5 Feb 2013]
1567
1568  * Fix for SSL/TLS/DTLS CBC plaintext recovery attack ([CVE-2013-0169])
1569  * Fix OCSP bad key DoS attack ([CVE-2013-0166])
1570
1571### Major changes between OpenSSL 1.0.0i and OpenSSL 1.0.0j [10 May 2012]
1572
1573  * Fix DTLS record length checking bug ([CVE-2012-2333])
1574
1575### Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.0i [19 Apr 2012]
1576
1577  * Fix for ASN1 overflow bug ([CVE-2012-2110])
1578
1579### Major changes between OpenSSL 1.0.0g and OpenSSL 1.0.0h [12 Mar 2012]
1580
1581  * Fix for CMS/PKCS#7 MMA ([CVE-2012-0884])
1582  * Corrected fix for ([CVE-2011-4619])
1583  * Various DTLS fixes.
1584
1585### Major changes between OpenSSL 1.0.0f and OpenSSL 1.0.0g [18 Jan 2012]
1586
1587  * Fix for DTLS DoS issue ([CVE-2012-0050])
1588
1589### Major changes between OpenSSL 1.0.0e and OpenSSL 1.0.0f [4 Jan 2012]
1590
1591  * Fix for DTLS plaintext recovery attack ([CVE-2011-4108])
1592  * Clear block padding bytes of SSL 3.0 records ([CVE-2011-4576])
1593  * Only allow one SGC handshake restart for SSL/TLS ([CVE-2011-4619])
1594  * Check parameters are not NULL in GOST ENGINE ([CVE-2012-0027])
1595  * Check for malformed RFC3779 data ([CVE-2011-4577])
1596
1597### Major changes between OpenSSL 1.0.0d and OpenSSL 1.0.0e [6 Sep 2011]
1598
1599  * Fix for CRL vulnerability issue ([CVE-2011-3207])
1600  * Fix for ECDH crashes ([CVE-2011-3210])
1601  * Protection against EC timing attacks.
1602  * Support ECDH ciphersuites for certificates using SHA2 algorithms.
1603  * Various DTLS fixes.
1604
1605### Major changes between OpenSSL 1.0.0c and OpenSSL 1.0.0d [8 Feb 2011]
1606
1607  * Fix for security issue ([CVE-2011-0014])
1608
1609### Major changes between OpenSSL 1.0.0b and OpenSSL 1.0.0c [2 Dec 2010]
1610
1611  * Fix for security issue ([CVE-2010-4180])
1612  * Fix for ([CVE-2010-4252])
1613  * Fix mishandling of absent EC point format extension.
1614  * Fix various platform compilation issues.
1615  * Corrected fix for security issue ([CVE-2010-3864]).
1616
1617### Major changes between OpenSSL 1.0.0a and OpenSSL 1.0.0b [16 Nov 2010]
1618
1619  * Fix for security issue ([CVE-2010-3864]).
1620  * Fix for ([CVE-2010-2939])
1621  * Fix WIN32 build system for GOST ENGINE.
1622
1623### Major changes between OpenSSL 1.0.0 and OpenSSL 1.0.0a [1 Jun 2010]
1624
1625  * Fix for security issue ([CVE-2010-1633]).
1626  * GOST MAC and CFB fixes.
1627
1628### Major changes between OpenSSL 0.9.8n and OpenSSL 1.0.0 [29 Mar 2010]
1629
1630  * RFC3280 path validation: sufficient to process PKITS tests.
1631  * Integrated support for PVK files and keyblobs.
1632  * Change default private key format to PKCS#8.
1633  * CMS support: able to process all examples in RFC4134
1634  * Streaming ASN1 encode support for PKCS#7 and CMS.
1635  * Multiple signer and signer add support for PKCS#7 and CMS.
1636  * ASN1 printing support.
1637  * Whirlpool hash algorithm added.
1638  * RFC3161 time stamp support.
1639  * New generalised public key API supporting ENGINE based algorithms.
1640  * New generalised public key API utilities.
1641  * New ENGINE supporting GOST algorithms.
1642  * SSL/TLS GOST ciphersuite support.
1643  * PKCS#7 and CMS GOST support.
1644  * RFC4279 PSK ciphersuite support.
1645  * Supported points format extension for ECC ciphersuites.
1646  * ecdsa-with-SHA224/256/384/512 signature types.
1647  * dsa-with-SHA224 and dsa-with-SHA256 signature types.
1648  * Opaque PRF Input TLS extension support.
1649  * Updated time routines to avoid OS limitations.
1650
1651OpenSSL 0.9.x
1652-------------
1653
1654### Major changes between OpenSSL 0.9.8m and OpenSSL 0.9.8n [24 Mar 2010]
1655
1656  * CFB cipher definition fixes.
1657  * Fix security issues [CVE-2010-0740] and [CVE-2010-0433].
1658
1659### Major changes between OpenSSL 0.9.8l and OpenSSL 0.9.8m [25 Feb 2010]
1660
1661  * Cipher definition fixes.
1662  * Workaround for slow RAND_poll() on some WIN32 versions.
1663  * Remove MD2 from algorithm tables.
1664  * SPKAC handling fixes.
1665  * Support for RFC5746 TLS renegotiation extension.
1666  * Compression memory leak fixed.
1667  * Compression session resumption fixed.
1668  * Ticket and SNI coexistence fixes.
1669  * Many fixes to DTLS handling.
1670
1671### Major changes between OpenSSL 0.9.8k and OpenSSL 0.9.8l [5 Nov 2009]
1672
1673  * Temporary work around for [CVE-2009-3555]: disable renegotiation.
1674
1675### Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k [25 Mar 2009]
1676
1677  * Fix various build issues.
1678  * Fix security issues [CVE-2009-0590], [CVE-2009-0591], [CVE-2009-0789]
1679
1680### Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j [7 Jan 2009]
1681
1682  * Fix security issue ([CVE-2008-5077])
1683  * Merge FIPS 140-2 branch code.
1684
1685### Major changes between OpenSSL 0.9.8g and OpenSSL 0.9.8h [28 May 2008]
1686
1687  * CryptoAPI ENGINE support.
1688  * Various precautionary measures.
1689  * Fix for bugs affecting certificate request creation.
1690  * Support for local machine keyset attribute in PKCS#12 files.
1691
1692### Major changes between OpenSSL 0.9.8f and OpenSSL 0.9.8g [19 Oct 2007]
1693
1694  * Backport of CMS functionality to 0.9.8.
1695  * Fixes for bugs introduced with 0.9.8f.
1696
1697### Major changes between OpenSSL 0.9.8e and OpenSSL 0.9.8f [11 Oct 2007]
1698
1699  * Add gcc 4.2 support.
1700  * Add support for AES and SSE2 assembly language optimization
1701    for VC++ build.
1702  * Support for RFC4507bis and server name extensions if explicitly
1703    selected at compile time.
1704  * DTLS improvements.
1705  * RFC4507bis support.
1706  * TLS Extensions support.
1707
1708### Major changes between OpenSSL 0.9.8d and OpenSSL 0.9.8e [23 Feb 2007]
1709
1710  * Various ciphersuite selection fixes.
1711  * RFC3779 support.
1712
1713### Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d [28 Sep 2006]
1714
1715  * Introduce limits to prevent malicious key DoS  ([CVE-2006-2940])
1716  * Fix security issues [CVE-2006-2937], [CVE-2006-3737], [CVE-2006-4343]
1717  * Changes to ciphersuite selection algorithm
1718
1719### Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c [5 Sep 2006]
1720
1721  * Fix Daniel Bleichenbacher forged signature attack, [CVE-2006-4339]
1722  * New cipher Camellia
1723
1724### Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b [4 May 2006]
1725
1726  * Cipher string fixes.
1727  * Fixes for VC++ 2005.
1728  * Updated ECC cipher suite support.
1729  * New functions EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free().
1730  * Zlib compression usage fixes.
1731  * Built in dynamic engine compilation support on Win32.
1732  * Fixes auto dynamic engine loading in Win32.
1733
1734### Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a [11 Oct 2005]
1735
1736  * Fix potential SSL 2.0 rollback ([CVE-2005-2969])
1737  * Extended Windows CE support
1738
1739### Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8 [5 Jul 2005]
1740
1741  * Major work on the BIGNUM library for higher efficiency and to
1742    make operations more streamlined and less contradictory.  This
1743    is the result of a major audit of the BIGNUM library.
1744  * Addition of BIGNUM functions for fields GF(2^m) and NIST
1745    curves, to support the Elliptic Crypto functions.
1746  * Major work on Elliptic Crypto; ECDH and ECDSA added, including
1747    the use through EVP, X509 and ENGINE.
1748  * New ASN.1 mini-compiler that's usable through the OpenSSL
1749    configuration file.
1750  * Added support for ASN.1 indefinite length constructed encoding.
1751  * New PKCS#12 'medium level' API to manipulate PKCS#12 files.
1752  * Complete rework of shared library construction and linking
1753    programs with shared or static libraries, through a separate
1754    Makefile.shared.
1755  * Rework of the passing of parameters from one Makefile to another.
1756  * Changed ENGINE framework to load dynamic engine modules
1757    automatically from specifically given directories.
1758  * New structure and ASN.1 functions for CertificatePair.
1759  * Changed the ZLIB compression method to be stateful.
1760  * Changed the key-generation and primality testing "progress"
1761    mechanism to take a structure that contains the ticker
1762    function and an argument.
1763  * New engine module: GMP (performs private key exponentiation).
1764  * New engine module: VIA PadLOck ACE extension in VIA C3
1765    Nehemiah processors.
1766  * Added support for IPv6 addresses in certificate extensions.
1767    See RFC 1884, section 2.2.
1768  * Added support for certificate policy mappings, policy
1769    constraints and name constraints.
1770  * Added support for multi-valued AVAs in the OpenSSL
1771    configuration file.
1772  * Added support for multiple certificates with the same subject
1773    in the 'openssl ca' index file.
1774  * Make it possible to create self-signed certificates using
1775    'openssl ca -selfsign'.
1776  * Make it possible to generate a serial number file with
1777    'openssl ca -create_serial'.
1778  * New binary search functions with extended functionality.
1779  * New BUF functions.
1780  * New STORE structure and library to provide an interface to all
1781    sorts of data repositories.  Supports storage of public and
1782    private keys, certificates, CRLs, numbers and arbitrary blobs.
1783    This library is unfortunately unfinished and unused within
1784    OpenSSL.
1785  * New control functions for the error stack.
1786  * Changed the PKCS#7 library to support one-pass S/MIME
1787    processing.
1788  * Added the possibility to compile without old deprecated
1789    functionality with the OPENSSL_NO_DEPRECATED macro or the
1790    'no-deprecated' argument to the config and Configure scripts.
1791  * Constification of all ASN.1 conversion functions, and other
1792    affected functions.
1793  * Improved platform support for PowerPC.
1794  * New FIPS 180-2 algorithms (SHA-224, -256, -384 and -512).
1795  * New X509_VERIFY_PARAM structure to support parameterisation
1796  of X.509 path validation.
1797  * Major overhaul of RC4 performance on Intel P4, IA-64 and
1798    AMD64.
1799  * Changed the Configure script to have some algorithms disabled
1800    by default.  Those can be explicitly enabled with the new
1801    argument form 'enable-xxx'.
1802  * Change the default digest in 'openssl' commands from MD5 to
1803    SHA-1.
1804  * Added support for DTLS.
1805  * New BIGNUM blinding.
1806  * Added support for the RSA-PSS encryption scheme
1807  * Added support for the RSA X.931 padding.
1808  * Added support for BSD sockets on NetWare.
1809  * Added support for files larger than 2GB.
1810  * Added initial support for Win64.
1811  * Added alternate pkg-config files.
1812
1813### Major changes between OpenSSL 0.9.7l and OpenSSL 0.9.7m [23 Feb 2007]
1814
1815  * FIPS 1.1.1 module linking.
1816  * Various ciphersuite selection fixes.
1817
1818### Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l [28 Sep 2006]
1819
1820  * Introduce limits to prevent malicious key DoS  ([CVE-2006-2940])
1821  * Fix security issues [CVE-2006-2937], [CVE-2006-3737], [CVE-2006-4343]
1822
1823### Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k [5 Sep 2006]
1824
1825  * Fix Daniel Bleichenbacher forged signature attack, [CVE-2006-4339]
1826
1827### Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j [4 May 2006]
1828
1829  * Visual C++ 2005 fixes.
1830  * Update Windows build system for FIPS.
1831
1832### Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i [14 Oct 2005]
1833
1834  * Give EVP_MAX_MD_SIZE its old value, except for a FIPS build.
1835
1836### Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h [11 Oct 2005]
1837
1838  * Fix SSL 2.0 Rollback ([CVE-2005-2969])
1839  * Allow use of fixed-length exponent on DSA signing
1840  * Default fixed-window RSA, DSA, DH private-key operations
1841
1842### Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g [11 Apr 2005]
1843
1844  * More compilation issues fixed.
1845  * Adaptation to more modern Kerberos API.
1846  * Enhanced or corrected configuration for Solaris64, Mingw and Cygwin.
1847  * Enhanced x86_64 assembler BIGNUM module.
1848  * More constification.
1849  * Added processing of proxy certificates (RFC 3820).
1850
1851### Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f [22 Mar 2005]
1852
1853  * Several compilation issues fixed.
1854  * Many memory allocation failure checks added.
1855  * Improved comparison of X509 Name type.
1856  * Mandatory basic checks on certificates.
1857  * Performance improvements.
1858
1859### Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e [25 Oct 2004]
1860
1861  * Fix race condition in CRL checking code.
1862  * Fixes to PKCS#7 (S/MIME) code.
1863
1864### Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d [17 Mar 2004]
1865
1866  * Security: Fix Kerberos ciphersuite SSL/TLS handshaking bug
1867  * Security: Fix null-pointer assignment in do_change_cipher_spec()
1868  * Allow multiple active certificates with same subject in CA index
1869  * Multiple X509 verification fixes
1870  * Speed up HMAC and other operations
1871
1872### Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c [30 Sep 2003]
1873
1874  * Security: fix various ASN1 parsing bugs.
1875  * New -ignore_err option to OCSP utility.
1876  * Various interop and bug fixes in S/MIME code.
1877  * SSL/TLS protocol fix for unrequested client certificates.
1878
1879### Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b [10 Apr 2003]
1880
1881  * Security: counter the Klima-Pokorny-Rosa extension of
1882    Bleichbacher's attack
1883  * Security: make RSA blinding default.
1884  * Configuration: Irix fixes, AIX fixes, better mingw support.
1885  * Support for new platforms: linux-ia64-ecc.
1886  * Build: shared library support fixes.
1887  * ASN.1: treat domainComponent correctly.
1888  * Documentation: fixes and additions.
1889
1890### Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a [19 Feb 2003]
1891
1892  * Security: Important security related bugfixes.
1893  * Enhanced compatibility with MIT Kerberos.
1894  * Can be built without the ENGINE framework.
1895  * IA32 assembler enhancements.
1896  * Support for new platforms: FreeBSD/IA64 and FreeBSD/Sparc64.
1897  * Configuration: the no-err option now works properly.
1898  * SSL/TLS: now handles manual certificate chain building.
1899  * SSL/TLS: certain session ID malfunctions corrected.
1900
1901### Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7 [30 Dec 2002]
1902
1903  * New library section OCSP.
1904  * Complete rewrite of ASN1 code.
1905  * CRL checking in verify code and openssl utility.
1906  * Extension copying in 'ca' utility.
1907  * Flexible display options in 'ca' utility.
1908  * Provisional support for international characters with UTF8.
1909  * Support for external crypto devices ('engine') is no longer
1910    a separate distribution.
1911  * New elliptic curve library section.
1912  * New AES (Rijndael) library section.
1913  * Support for new platforms: Windows CE, Tandem OSS, A/UX, AIX 64-bit,
1914    Linux x86_64, Linux 64-bit on Sparc v9
1915  * Extended support for some platforms: VxWorks
1916  * Enhanced support for shared libraries.
1917  * Now only builds PIC code when shared library support is requested.
1918  * Support for pkg-config.
1919  * Lots of new manuals.
1920  * Makes symbolic links to or copies of manuals to cover all described
1921    functions.
1922  * Change DES API to clean up the namespace (some applications link also
1923    against libdes providing similar functions having the same name).
1924    Provide macros for backward compatibility (will be removed in the
1925    future).
1926  * Unify handling of cryptographic algorithms (software and engine)
1927    to be available via EVP routines for asymmetric and symmetric ciphers.
1928  * NCONF: new configuration handling routines.
1929  * Change API to use more 'const' modifiers to improve error checking
1930    and help optimizers.
1931  * Finally remove references to RSAref.
1932  * Reworked parts of the BIGNUM code.
1933  * Support for new engines: Broadcom ubsec, Accelerated Encryption
1934    Processing, IBM 4758.
1935  * A few new engines added in the demos area.
1936  * Extended and corrected OID (object identifier) table.
1937  * PRNG: query at more locations for a random device, automatic query for
1938    EGD style random sources at several locations.
1939  * SSL/TLS: allow optional cipher choice according to server's preference.
1940  * SSL/TLS: allow server to explicitly set new session ids.
1941  * SSL/TLS: support Kerberos cipher suites (RFC2712).
1942    Only supports MIT Kerberos for now.
1943  * SSL/TLS: allow more precise control of renegotiations and sessions.
1944  * SSL/TLS: add callback to retrieve SSL/TLS messages.
1945  * SSL/TLS: support AES cipher suites (RFC3268).
1946
1947### Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k [30 Sep 2003]
1948
1949  * Security: fix various ASN1 parsing bugs.
1950  * SSL/TLS protocol fix for unrequested client certificates.
1951
1952### Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j [10 Apr 2003]
1953
1954  * Security: counter the Klima-Pokorny-Rosa extension of
1955    Bleichbacher's attack
1956  * Security: make RSA blinding default.
1957  * Build: shared library support fixes.
1958
1959### Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i [19 Feb 2003]
1960
1961  * Important security related bugfixes.
1962
1963### Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h [5 Dec 2002]
1964
1965  * New configuration targets for Tandem OSS and A/UX.
1966  * New OIDs for Microsoft attributes.
1967  * Better handling of SSL session caching.
1968  * Better comparison of distinguished names.
1969  * Better handling of shared libraries in a mixed GNU/non-GNU environment.
1970  * Support assembler code with Borland C.
1971  * Fixes for length problems.
1972  * Fixes for uninitialised variables.
1973  * Fixes for memory leaks, some unusual crashes and some race conditions.
1974  * Fixes for smaller building problems.
1975  * Updates of manuals, FAQ and other instructive documents.
1976
1977### Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g [9 Aug 2002]
1978
1979  * Important building fixes on Unix.
1980
1981### Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f [8 Aug 2002]
1982
1983  * Various important bugfixes.
1984
1985### Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e [30 Jul 2002]
1986
1987  * Important security related bugfixes.
1988  * Various SSL/TLS library bugfixes.
1989
1990### Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d [9 May 2002]
1991
1992  * Various SSL/TLS library bugfixes.
1993  * Fix DH parameter generation for 'non-standard' generators.
1994
1995### Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c [21 Dec 2001]
1996
1997  * Various SSL/TLS library bugfixes.
1998  * BIGNUM library fixes.
1999  * RSA OAEP and random number generation fixes.
2000  * Object identifiers corrected and added.
2001  * Add assembler BN routines for IA64.
2002  * Add support for OS/390 Unix, UnixWare with gcc, OpenUNIX 8,
2003    MIPS Linux; shared library support for Irix, HP-UX.
2004  * Add crypto accelerator support for AEP, Baltimore SureWare,
2005    Broadcom and Cryptographic Appliance's keyserver
2006    [in 0.9.6c-engine release].
2007
2008### Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b [9 Jul 2001]
2009
2010  * Security fix: PRNG improvements.
2011  * Security fix: RSA OAEP check.
2012  * Security fix: Reinsert and fix countermeasure to Bleichbacher's
2013    attack.
2014  * MIPS bug fix in BIGNUM.
2015  * Bug fix in "openssl enc".
2016  * Bug fix in X.509 printing routine.
2017  * Bug fix in DSA verification routine and DSA S/MIME verification.
2018  * Bug fix to make PRNG thread-safe.
2019  * Bug fix in RAND_file_name().
2020  * Bug fix in compatibility mode trust settings.
2021  * Bug fix in blowfish EVP.
2022  * Increase default size for BIO buffering filter.
2023  * Compatibility fixes in some scripts.
2024
2025### Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a [5 Apr 2001]
2026
2027  * Security fix: change behavior of OpenSSL to avoid using
2028    environment variables when running as root.
2029  * Security fix: check the result of RSA-CRT to reduce the
2030    possibility of deducing the private key from an incorrectly
2031    calculated signature.
2032  * Security fix: prevent Bleichenbacher's DSA attack.
2033  * Security fix: Zero the premaster secret after deriving the
2034    master secret in DH ciphersuites.
2035  * Reimplement SSL_peek(), which had various problems.
2036  * Compatibility fix: the function des_encrypt() renamed to
2037    des_encrypt1() to avoid clashes with some Unixen libc.
2038  * Bug fixes for Win32, HP/UX and Irix.
2039  * Bug fixes in BIGNUM, SSL, PKCS#7, PKCS#12, X.509, CONF and
2040    memory checking routines.
2041  * Bug fixes for RSA operations in threaded environments.
2042  * Bug fixes in misc. openssl applications.
2043  * Remove a few potential memory leaks.
2044  * Add tighter checks of BIGNUM routines.
2045  * Shared library support has been reworked for generality.
2046  * More documentation.
2047  * New function BN_rand_range().
2048  * Add "-rand" option to openssl s_client and s_server.
2049
2050### Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6 [10 Oct 2000]
2051
2052  * Some documentation for BIO and SSL libraries.
2053  * Enhanced chain verification using key identifiers.
2054  * New sign and verify options to 'dgst' application.
2055  * Support for DER and PEM encoded messages in 'smime' application.
2056  * New 'rsautl' application, low-level RSA utility.
2057  * MD4 now included.
2058  * Bugfix for SSL rollback padding check.
2059  * Support for external crypto devices [1].
2060  * Enhanced EVP interface.
2061
2062  [1] The support for external crypto devices is currently a separate
2063      distribution.  See the file README-Engine.md.
2064
2065### Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a [1 Apr 2000]
2066
2067  * Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8
2068  * Shared library support for HPUX and Solaris-gcc
2069  * Support of Linux/IA64
2070  * Assembler support for Mingw32
2071  * New 'rand' application
2072  * New way to check for existence of algorithms from scripts
2073
2074### Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5 [25 May 2000]
2075
2076  * S/MIME support in new 'smime' command
2077  * Documentation for the OpenSSL command line application
2078  * Automation of 'req' application
2079  * Fixes to make s_client, s_server work under Windows
2080  * Support for multiple fieldnames in SPKACs
2081  * New SPKAC command line utility and associated library functions
2082  * Options to allow passwords to be obtained from various sources
2083  * New public key PEM format and options to handle it
2084  * Many other fixes and enhancements to command line utilities
2085  * Usable certificate chain verification
2086  * Certificate purpose checking
2087  * Certificate trust settings
2088  * Support of authority information access extension
2089  * Extensions in certificate requests
2090  * Simplified X509 name and attribute routines
2091  * Initial (incomplete) support for international character sets
2092  * New DH_METHOD, DSA_METHOD and enhanced RSA_METHOD
2093  * Read only memory BIOs and simplified creation function
2094  * TLS/SSL protocol bugfixes: Accept TLS 'client hello' in SSL 3.0
2095    record; allow fragmentation and interleaving of handshake and other
2096    data
2097  * TLS/SSL code now "tolerates" MS SGC
2098  * Work around for Netscape client certificate hang bug
2099  * RSA_NULL option that removes RSA patent code but keeps other
2100    RSA functionality
2101  * Memory leak detection now allows applications to add extra information
2102    via a per-thread stack
2103  * PRNG robustness improved
2104  * EGD support
2105  * BIGNUM library bug fixes
2106  * Faster DSA parameter generation
2107  * Enhanced support for Alpha Linux
2108  * Experimental macOS support
2109
2110### Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4 [9 Aug 1999]
2111
2112  * Transparent support for PKCS#8 format private keys: these are used
2113    by several software packages and are more secure than the standard
2114    form
2115  * PKCS#5 v2.0 implementation
2116  * Password callbacks have a new void * argument for application data
2117  * Avoid various memory leaks
2118  * New pipe-like BIO that allows using the SSL library when actual I/O
2119    must be handled by the application (BIO pair)
2120
2121### Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3 [24 May 1999]
2122
2123  * Lots of enhancements and cleanups to the Configuration mechanism
2124  * RSA OEAP related fixes
2125  * Added "openssl ca -revoke" option for revoking a certificate
2126  * Source cleanups: const correctness, type-safe stacks and ASN.1 SETs
2127  * Source tree cleanups: removed lots of obsolete files
2128  * Thawte SXNet, certificate policies and CRL distribution points
2129    extension support
2130  * Preliminary (experimental) S/MIME support
2131  * Support for ASN.1 UTF8String and VisibleString
2132  * Full integration of PKCS#12 code
2133  * Sparc assembler bignum implementation, optimized hash functions
2134  * Option to disable selected ciphers
2135
2136### Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b [22 Mar 1999]
2137
2138  * Fixed a security hole related to session resumption
2139  * Fixed RSA encryption routines for the p < q case
2140  * "ALL" in cipher lists now means "everything except NULL ciphers"
2141  * Support for Triple-DES CBCM cipher
2142  * Support of Optimal Asymmetric Encryption Padding (OAEP) for RSA
2143  * First support for new TLSv1 ciphers
2144  * Added a few new BIOs (syslog BIO, reliable BIO)
2145  * Extended support for DSA certificate/keys.
2146  * Extended support for Certificate Signing Requests (CSR)
2147  * Initial support for X.509v3 extensions
2148  * Extended support for compression inside the SSL record layer
2149  * Overhauled Win32 builds
2150  * Cleanups and fixes to the Big Number (BN) library
2151  * Support for ASN.1 GeneralizedTime
2152  * Split ASN.1 SETs from SEQUENCEs
2153  * ASN1 and PEM support for Netscape Certificate Sequences
2154  * Overhauled Perl interface
2155  * Lots of source tree cleanups.
2156  * Lots of memory leak fixes.
2157  * Lots of bug fixes.
2158
2159### Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c [23 Dec 1998]
2160
2161  * Integration of the popular NO_RSA/NO_DSA patches
2162  * Initial support for compression inside the SSL record layer
2163  * Added BIO proxy and filtering functionality
2164  * Extended Big Number (BN) library
2165  * Added RIPE MD160 message digest
2166  * Added support for RC2/64bit cipher
2167  * Extended ASN.1 parser routines
2168  * Adjustments of the source tree for CVS
2169  * Support for various new platforms
2170
2171<!-- Links -->
2172[CHANGES.md]: ./CHANGES.md
2173[CMVP]: https://csrc.nist.gov/projects/cryptographic-module-validation-program
2174[CVE-2005-2969]: https://openssl-library.org/news/vulnerabilities/#CVE-2005-2969
2175[CVE-2006-2937]: https://openssl-library.org/news/vulnerabilities/#CVE-2006-2937
2176[CVE-2006-2940]: https://openssl-library.org/news/vulnerabilities/#CVE-2006-2940
2177[CVE-2006-3737]: https://openssl-library.org/news/vulnerabilities/#CVE-2006-3737
2178[CVE-2006-4339]: https://openssl-library.org/news/vulnerabilities/#CVE-2006-4339
2179[CVE-2006-4343]: https://openssl-library.org/news/vulnerabilities/#CVE-2006-4343
2180[CVE-2008-5077]: https://openssl-library.org/news/vulnerabilities/#CVE-2008-5077
2181[CVE-2009-0590]: https://openssl-library.org/news/vulnerabilities/#CVE-2009-0590
2182[CVE-2009-0591]: https://openssl-library.org/news/vulnerabilities/#CVE-2009-0591
2183[CVE-2009-0789]: https://openssl-library.org/news/vulnerabilities/#CVE-2009-0789
2184[CVE-2009-3555]: https://openssl-library.org/news/vulnerabilities/#CVE-2009-3555
2185[CVE-2010-0433]: https://openssl-library.org/news/vulnerabilities/#CVE-2010-0433
2186[CVE-2010-0740]: https://openssl-library.org/news/vulnerabilities/#CVE-2010-0740
2187[CVE-2010-1633]: https://openssl-library.org/news/vulnerabilities/#CVE-2010-1633
2188[CVE-2010-2939]: https://openssl-library.org/news/vulnerabilities/#CVE-2010-2939
2189[CVE-2010-3864]: https://openssl-library.org/news/vulnerabilities/#CVE-2010-3864
2190[CVE-2010-4180]: https://openssl-library.org/news/vulnerabilities/#CVE-2010-4180
2191[CVE-2010-4252]: https://openssl-library.org/news/vulnerabilities/#CVE-2010-4252
2192[CVE-2010-5298]: https://openssl-library.org/news/vulnerabilities/#CVE-2010-5298
2193[CVE-2011-0014]: https://openssl-library.org/news/vulnerabilities/#CVE-2011-0014
2194[CVE-2011-3207]: https://openssl-library.org/news/vulnerabilities/#CVE-2011-3207
2195[CVE-2011-3210]: https://openssl-library.org/news/vulnerabilities/#CVE-2011-3210
2196[CVE-2011-4108]: https://openssl-library.org/news/vulnerabilities/#CVE-2011-4108
2197[CVE-2011-4576]: https://openssl-library.org/news/vulnerabilities/#CVE-2011-4576
2198[CVE-2011-4577]: https://openssl-library.org/news/vulnerabilities/#CVE-2011-4577
2199[CVE-2011-4619]: https://openssl-library.org/news/vulnerabilities/#CVE-2011-4619
2200[CVE-2012-0027]: https://openssl-library.org/news/vulnerabilities/#CVE-2012-0027
2201[CVE-2012-0050]: https://openssl-library.org/news/vulnerabilities/#CVE-2012-0050
2202[CVE-2012-0884]: https://openssl-library.org/news/vulnerabilities/#CVE-2012-0884
2203[CVE-2012-2110]: https://openssl-library.org/news/vulnerabilities/#CVE-2012-2110
2204[CVE-2012-2333]: https://openssl-library.org/news/vulnerabilities/#CVE-2012-2333
2205[CVE-2012-2686]: https://openssl-library.org/news/vulnerabilities/#CVE-2012-2686
2206[CVE-2013-0166]: https://openssl-library.org/news/vulnerabilities/#CVE-2013-0166
2207[CVE-2013-0169]: https://openssl-library.org/news/vulnerabilities/#CVE-2013-0169
2208[CVE-2013-4353]: https://openssl-library.org/news/vulnerabilities/#CVE-2013-4353
2209[CVE-2013-6449]: https://openssl-library.org/news/vulnerabilities/#CVE-2013-6449
2210[CVE-2013-6450]: https://openssl-library.org/news/vulnerabilities/#CVE-2013-6450
2211[CVE-2014-0076]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-0076
2212[CVE-2014-0160]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-0160
2213[CVE-2014-0195]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-0195
2214[CVE-2014-0198]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-0198
2215[CVE-2014-0221]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-0221
2216[CVE-2014-0224]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-0224
2217[CVE-2014-3470]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3470
2218[CVE-2014-3505]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3505
2219[CVE-2014-3506]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3506
2220[CVE-2014-3507]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3507
2221[CVE-2014-3508]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3508
2222[CVE-2014-3509]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3509
2223[CVE-2014-3510]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3510
2224[CVE-2014-3511]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3511
2225[CVE-2014-3512]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3512
2226[CVE-2014-3513]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3513
2227[CVE-2014-3566]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3566
2228[CVE-2014-3567]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3567
2229[CVE-2014-3568]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3568
2230[CVE-2014-3569]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3569
2231[CVE-2014-3570]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3570
2232[CVE-2014-3571]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3571
2233[CVE-2014-3572]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-3572
2234[CVE-2014-5139]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-5139
2235[CVE-2014-8275]: https://openssl-library.org/news/vulnerabilities/#CVE-2014-8275
2236[CVE-2015-0204]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0204
2237[CVE-2015-0205]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0205
2238[CVE-2015-0206]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0206
2239[CVE-2015-0207]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0207
2240[CVE-2015-0208]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0208
2241[CVE-2015-0209]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0209
2242[CVE-2015-0285]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0285
2243[CVE-2015-0286]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0286
2244[CVE-2015-0287]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0287
2245[CVE-2015-0288]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0288
2246[CVE-2015-0289]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0289
2247[CVE-2015-0290]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0290
2248[CVE-2015-0291]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0291
2249[CVE-2015-0293]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-0293
2250[CVE-2015-1787]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-1787
2251[CVE-2015-1788]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-1788
2252[CVE-2015-1789]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-1789
2253[CVE-2015-1790]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-1790
2254[CVE-2015-1791]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-1791
2255[CVE-2015-1792]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-1792
2256[CVE-2015-1793]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-1793
2257[CVE-2015-3193]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-3193
2258[CVE-2015-3194]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-3194
2259[CVE-2015-3195]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-3195
2260[CVE-2015-3196]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-3196
2261[CVE-2015-3197]: https://openssl-library.org/news/vulnerabilities/#CVE-2015-3197
2262[CVE-2016-0701]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-0701
2263[CVE-2016-0702]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-0702
2264[CVE-2016-0705]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-0705
2265[CVE-2016-0797]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-0797
2266[CVE-2016-0798]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-0798
2267[CVE-2016-0799]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-0799
2268[CVE-2016-0800]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-0800
2269[CVE-2016-2105]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2105
2270[CVE-2016-2106]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2106
2271[CVE-2016-2107]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2107
2272[CVE-2016-2109]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2109
2273[CVE-2016-2176]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2176
2274[CVE-2016-2177]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2177
2275[CVE-2016-2178]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2178
2276[CVE-2016-2179]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2179
2277[CVE-2016-2180]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2180
2278[CVE-2016-2181]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2181
2279[CVE-2016-2182]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2182
2280[CVE-2016-2183]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-2183
2281[CVE-2016-6302]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-6302
2282[CVE-2016-6303]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-6303
2283[CVE-2016-6304]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-6304
2284[CVE-2016-6305]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-6305
2285[CVE-2016-6306]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-6306
2286[CVE-2016-6307]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-6307
2287[CVE-2016-6308]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-6308
2288[CVE-2016-6309]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-6309
2289[CVE-2016-7052]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-7052
2290[CVE-2016-7053]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-7053
2291[CVE-2016-7054]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-7054
2292[CVE-2016-7055]: https://openssl-library.org/news/vulnerabilities/#CVE-2016-7055
2293[CVE-2017-3730]: https://openssl-library.org/news/vulnerabilities/#CVE-2017-3730
2294[CVE-2017-3731]: https://openssl-library.org/news/vulnerabilities/#CVE-2017-3731
2295[CVE-2017-3732]: https://openssl-library.org/news/vulnerabilities/#CVE-2017-3732
2296[CVE-2017-3733]: https://openssl-library.org/news/vulnerabilities/#CVE-2017-3733
2297[CVE-2017-3735]: https://openssl-library.org/news/vulnerabilities/#CVE-2017-3735
2298[CVE-2017-3736]: https://openssl-library.org/news/vulnerabilities/#CVE-2017-3736
2299[CVE-2017-3737]: https://openssl-library.org/news/vulnerabilities/#CVE-2017-3737
2300[CVE-2017-3738]: https://openssl-library.org/news/vulnerabilities/#CVE-2017-3738
2301[CVE-2018-0732]: https://openssl-library.org/news/vulnerabilities/#CVE-2018-0732
2302[CVE-2018-0733]: https://openssl-library.org/news/vulnerabilities/#CVE-2018-0733
2303[CVE-2018-0734]: https://openssl-library.org/news/vulnerabilities/#CVE-2018-0734
2304[CVE-2018-0735]: https://openssl-library.org/news/vulnerabilities/#CVE-2018-0735
2305[CVE-2018-0737]: https://openssl-library.org/news/vulnerabilities/#CVE-2018-0737
2306[CVE-2018-0739]: https://openssl-library.org/news/vulnerabilities/#CVE-2018-0739
2307[CVE-2018-5407]: https://openssl-library.org/news/vulnerabilities/#CVE-2018-5407
2308[CVE-2019-1543]: https://openssl-library.org/news/vulnerabilities/#CVE-2019-1543
2309[CVE-2019-1547]: https://openssl-library.org/news/vulnerabilities/#CVE-2019-1547
2310[CVE-2019-1549]: https://openssl-library.org/news/vulnerabilities/#CVE-2019-1549
2311[CVE-2019-1551]: https://openssl-library.org/news/vulnerabilities/#CVE-2019-1551
2312[CVE-2019-1552]: https://openssl-library.org/news/vulnerabilities/#CVE-2019-1552
2313[CVE-2019-1559]: https://openssl-library.org/news/vulnerabilities/#CVE-2019-1559
2314[CVE-2019-1563]: https://openssl-library.org/news/vulnerabilities/#CVE-2019-1563
2315[CVE-2020-1967]: https://openssl-library.org/news/vulnerabilities/#CVE-2020-1967
2316[CVE-2020-1971]: https://openssl-library.org/news/vulnerabilities/#CVE-2020-1971
2317[CVE-2022-2097]: https://openssl-library.org/news/vulnerabilities/#CVE-2022-2097
2318[CVE-2022-2274]: https://openssl-library.org/news/vulnerabilities/#CVE-2022-2274
2319[CVE-2022-3996]: https://openssl-library.org/news/vulnerabilities/#CVE-2022-3996
2320[CVE-2022-4203]: https://openssl-library.org/news/vulnerabilities/#CVE-2022-4203
2321[CVE-2022-4304]: https://openssl-library.org/news/vulnerabilities/#CVE-2022-4304
2322[CVE-2022-4450]: https://openssl-library.org/news/vulnerabilities/#CVE-2022-4450
2323[CVE-2023-0215]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-0215
2324[CVE-2023-0216]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-0216
2325[CVE-2023-0217]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-0217
2326[CVE-2023-0286]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-0286
2327[CVE-2023-0401]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-0401
2328[CVE-2023-0464]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-0464
2329[CVE-2023-0465]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-0465
2330[CVE-2023-0466]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-0466
2331[CVE-2023-1255]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-1255
2332[CVE-2023-2650]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-2650
2333[CVE-2023-2975]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-2975
2334[CVE-2023-3446]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-3446
2335[CVE-2023-3817]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-3817
2336[CVE-2023-4807]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-4807
2337[CVE-2023-5363]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-5363
2338[CVE-2023-5678]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-5678
2339[CVE-2023-6129]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-6129
2340[CVE-2023-6237]: https://openssl-library.org/news/vulnerabilities/#CVE-2023-6237
2341[CVE-2024-0727]: https://openssl-library.org/news/vulnerabilities/#CVE-2024-0727
2342[CVE-2024-2511]: https://openssl-library.org/news/vulnerabilities/#CVE-2024-2511
2343[CVE-2024-4603]: https://openssl-library.org/news/vulnerabilities/#CVE-2024-4603
2344[CVE-2024-4741]: https://openssl-library.org/news/vulnerabilities/#CVE-2024-4741
2345[CVE-2024-5535]: https://openssl-library.org/news/vulnerabilities/#CVE-2024-5535
2346[CVE-2024-6119]: https://openssl-library.org/news/vulnerabilities/#CVE-2024-6119
2347[CVE-2024-9143]: https://openssl-library.org/news/vulnerabilities/#CVE-2024-9143
2348[CVE-2024-13176]: https://openssl-library.org/news/vulnerabilities/#CVE-2024-13176
2349[CVE-2025-4575]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-4575
2350[CVE-2025-9230]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-9230
2351[CVE-2025-9231]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-9231
2352[CVE-2025-9232]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-9232
2353[CVE-2025-11187]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-11187
2354[CVE-2025-15467]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-15467
2355[CVE-2025-15468]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-15468
2356[CVE-2025-15469]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-15469
2357[CVE-2025-66199]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-66199
2358[CVE-2025-68160]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-68160
2359[CVE-2025-69418]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69418
2360[CVE-2025-69419]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69419
2361[CVE-2025-69420]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69420
2362[CVE-2025-69421]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69421
2363[CVE-2026-2673]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-2673
2364[CVE-2026-7383]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-7383
2365[CVE-2026-9076]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-9076
2366[CVE-2026-14456]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-14456
2367[CVE-2026-14457]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-14457
2368[CVE-2026-18798]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-18798
2369[CVE-2026-22795]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22795
2370[CVE-2026-22796]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22796
2371[CVE-2026-28387]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28387
2372[CVE-2026-28388]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28388
2373[CVE-2026-28389]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28389
2374[CVE-2026-28390]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28390
2375[CVE-2026-31789]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31789
2376[CVE-2026-31790]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31790
2377[CVE-2026-34180]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34180
2378[CVE-2026-34181]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34181
2379[CVE-2026-34182]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34182
2380[CVE-2026-34183]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34183
2381[CVE-2026-35189]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-35189
2382[CVE-2026-35191]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-35191
2383[CVE-2026-42764]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42764
2384[CVE-2026-42766]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42766
2385[CVE-2026-42767]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42767
2386[CVE-2026-42768]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42768
2387[CVE-2026-42769]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42769
2388[CVE-2026-42770]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42770
2389[CVE-2026-42772]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42772
2390[CVE-2026-45445]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45445
2391[CVE-2026-45446]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45446
2392[CVE-2026-45447]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45447
2393[CVE-2026-54872]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-54872
2394[CVE-2026-54873]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-54873
2395[CVE-2026-54874]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-54874
2396[CVE-2026-54875]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-54875
2397[CVE-2026-63072]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-63072
2398[CVE-2026-63073]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-63073
2399[CVE-2026-63074]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-63074
2400[CVE-2026-63075]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-63075
2401[CVE-2026-63076]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-63076
2402[CVE-2026-72897]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-72897
2403[CVE-2026-75803]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-75803
2404[CVE-2026-75804]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-75804
2405[CVE-2026-75805]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-75805
2406[CVE-2026-75806]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-75806
2407[CVE-2026-77696]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-77696
2408[CVE-2026-84782]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-84782
2409[CVE-2026-84784]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-84784
2410[ESV]: https://csrc.nist.gov/Projects/cryptographic-module-validation-program/entropy-validations
2411[OpenSSL Guide]: https://www.openssl.org/docs/manmaster/man7/ossl-guide-introduction.html
2412[README-QUIC.md]: ./README-QUIC.md
2413[issue tracker]: https://github.com/openssl/openssl/issues
2414[jitterentropy-library]: https://github.com/smuellerDD/jitterentropy-library
2415