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