Skip to content

Releases: wolfSSL/wolfssl

wolfSSL release version 3.15.0

05 Jun 20:09
v3.15.0-stable
b63d317
Compare
Choose a tag to compare
wolfSSL Release 3.15.0 (05/05/2018)

Release 3.15.0 of wolfSSL embedded TLS has bug fixes and new features including:

* Support for TLS 1.3 Draft versions 23, 26 and 28.
* Add FIPS SGX support!
* Single Precision assembly code added for ARM and 64-bit ARM to enhance performance.
* Improved performance for Single Precision maths on 32-bit.
* Improved downgrade support for the TLS 1.3 handshake.
* Improved TLS 1.3 support from interoperability testing.
* Added option to allow TLS 1.2 to be compiled out to reduce size and enhance security.
* Added option to support Ed25519 in TLS 1.2 and 1.3.
* Update wolfSSL_HMAC_Final() so the length parameter is optional.
* Various fixes for Coverity static analysis reports.
* Add define to use internal struct timeval (USE_WOLF_TIMEVAL_T).
* Switch LowResTimer() to call XTIME instead of time(0) for better portability.
* Expanded OpenSSL compatibility layer with a bevy of new functions.
* Added Renesas CS+ project files.
* Align DH support with NIST SP 800-56A, add wc_DhSetKey_ex() for q parameter.
* Add build option for CAVP self test build (--enable-selftest).
* Expose mp_toradix() when WOLFSSL_PUBLIC_MP is defined.
* Example certificate expiration dates and generation script updated.
* Additional optimizations to trim out unused strings depending on build options.
* Fix for DN tag strings to have “=” when returning the string value to users.
* Fix for wolfSSL_ERR_get_error_line_data return value if no more errors are in the queue.
* Fix for AES-CBC IV value with PIC32 hardware acceleration.
* Fix for wolfSSL_X509_print with ECC certificates.
* Fix for strict checking on URI absolute vs relative path.
* Added crypto device framework to handle PK RSA/ECC operations using callbacks, which adds new build option `./configure --enable-cryptodev` or `WOLF_CRYPTO_DEV`.
* Added devId support to ECC and PKCS7 for hardware based private key.
* Fixes in PKCS7 for handling possible memory leak in some error cases.
* Added test for invalid cert common name when set with `wolfSSL_check_domain_name`.
* Refactor of the cipher suite names to use single array, which contains internal name, IANA name and cipher suite bytes.
* Added new function `wolfSSL_get_cipher_name_from_suite` for getting IANA cipher suite name using bytes.
* Fixes for fsanitize reports.
* Fix for openssl compatibility function `wolfSSL_RSA_verify` to check returned size.
* Fixes and improvements for FreeRTOS AWS.
* Fixes for building openssl compatibility with FreeRTOS.
* Fix and new test for handling match on domain name that may have a null terminator inside.
* Cleanup of the socket close code used for examples, CRL/OCSP and BIO to use single macro `CloseSocket`.
* Refactor of the TLSX code to support returning error codes.
* Added new signature wrapper functions `wc_SignatureVerifyHash` and `wc_SignatureGenerateHash` to allow direct use of hash.
* Improvement to GCC-ARM IDE example.
* Enhancements and cleanups for the ASN date/time code including new API's `wc_GetDateInfo`, `wc_GetCertDates` and `wc_GetDateAsCalendarTime`.
* Fixes to resolve issues with C99 compliance. Added build option `WOLF_C99` to force C99.
* Added a new `--enable-opensslall` option to enable all openssl compatibility features.
* Added new `--enable-webclient` option for enabling a few HTTP API's.
* Added new `wc_OidGetHash` API for getting the hash type from a hash OID.
* Moved `wolfSSL_CertPemToDer`, `wolfSSL_KeyPemToDer`, `wolfSSL_PubKeyPemToDer` to asn.c and renamed to `wc_`. Added backwards compatibility macro for old function names.
* Added new `WC_MAX_SYM_KEY_SIZE` macro for helping determine max key size.
* Added `--enable-enckeys` or (`WOLFSSL_ENCRYPTED_KEYS`) to enable support for encrypted PEM private keys using password callback without having to use opensslextra.
* Added ForceZero on the password buffer after done using it.
* Refactor unique hash types to use same internal values (ex WC_MD5 == WC_HASH_TYPE_MD5).
* Refactor the Sha3 types to use `wc_` naming, while retaining old names for compatibility.
* Improvements to `wc_PBKDF1` to support more hash types and the non-standard extra data option.
* Fix TLS 1.3 with ECC disabled and CURVE25519 enabled.
* Added new define `NO_DEV_URANDOM` to disable the use of `/dev/urandom`.
* Added `WC_RNG_BLOCKING` to indicate block w/sleep(0) is okay.
* Fix for `HAVE_EXT_CACHE` callbacks not being available without `OPENSSL_EXTRA` defined.
* Fix for ECC max bits `MAX_ECC_BITS` not always calculating correctly due to macro order.
* Added support for building and using PKCS7 without RSA (assuming ECC is enabled).
* Fixes and additions for Cavium Nitrox V to support ECC, AES-GCM and HMAC (SHA-224 and SHA3).
* Enabled ECC, AES-GCM and SHA-512/384 by default in (Linux and Windows)
* Added `./configure --enable-base16` and `WOLFSSL_BASE16` configuration option to enable Base16 API's.
* Improvements to ATECC508A support for building without `WOLFSSL_ATMEL` defined.
* Refactor IO callback function names to use `_CTX_` to eliminate confusion about the first parameter.
* Added support for not loading a private key for server or client when `HAVE_PK_CALLBACK` is defined and the private PK callback is set.
* Added new ECC API `wc_ecc_sig_size_calc` to return max signature size for a key size.
* Cleanup ECC point import/export code and added new API `wc_ecc_import_unsigned`.
* Fixes for handling OCSP with non-blocking.
* Added new PK (Primary Key) callbacks for the VerifyRsaSign. The new callbacks API's are `wolfSSL_CTX_SetRsaVerifySignCb` and `wolfSSL_CTX_SetRsaPssVerifySignCb`.
* Added new ECC API `wc_ecc_rs_raw_to_sig` to take raw unsigned R and S and encodes them into ECDSA signature format.
* Added support for `WOLFSSL_STM32F1`.
* Cleanup of the ASN X509 header/footer and XSTRNCPY logic.
* Add copyright notice to autoconf files. (Thanks Brian Aker!)
* Updated the M4 files for autotools. (Thanks Brian Aker!)
* Add support for the cipher suite TLS_DH_anon_WITH_AES256_GCM_SHA384 with test cases. (Thanks Thivya Ashok!)
* Add the TLS alert message unknown_psk_identity (115) from RFC 4279, section 2. (Thanks Thivya Ashok!)
* Fix the case when using TCP with timeouts with TLS. wolfSSL shall be agnostic to network socket behavior for TLS. (DTLS is another matter.) The functions `wolfSSL_set_using_nonblock()` and `wolfSSL_get_using_nonblock()` are deprecated.
* Hush the AR warning when building the static library with autotools.
* Hush the “-pthread” warning when building in some environments.
* Added a dist-hook target to the Makefile to reset the default options.h file.
* Removed the need for the darwin-clang.m4 file with the updates provided by Brian A.
* Renamed the AES assembly file so GCC on the Mac will build it using the preprocessor.
* Add a disable option (--disable-optflags) to turn off the default optimization flags so user may supply their own custom flags.
* Correctly touch the dummy fips.h header.

If you have questions on any of this, then email us at info@wolfssl.com.
See INSTALL file for build instructions.
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html

wolfSSL release version 3.14.0

02 Mar 23:52
e95fa69
Compare
Choose a tag to compare

wolfSSL Release 3.14.0 (3/02/2018)

Release 3.14.0 of wolfSSL embedded TLS has bug fixes and new features including:

  • TLS 1.3 draft 22 and 23 support added
  • Additional unit tests for; SHA3, AES-CMAC, Ed25519, ECC, RSA-PSS, AES-GCM
  • Many additions to the OpenSSL compatibility layer were made in this release. Some of these being enhancements to PKCS12, WOLFSSL_X509 use, WOLFSSL_EVP_PKEY, and WOLFSSL_BIO operations
  • AVX1 and AVX2 performance improvements with ChaCha20 and Poly1305
  • Added i.MX CAAM driver support with Integrity OS support
  • Improvements to logging with debugging, including exposing more API calls and adding options to reduce debugging code size
  • Fix for signature type detection with PKCS7 RSA SignedData
  • Public key call back functions added for DH Agree
  • RSA-PSS API added for operating on non inline buffers (separate input and output buffers)
  • API added for importing and exporting raw DSA parameters
  • Updated DSA key generation to be FIPS 186-4 compliant
  • Fix for wolfSSL_check_private_key when comparing ECC keys
  • Support for AES Cipher Feedback(CFB) mode added
  • Updated RSA key generation to be FIPS 186-4 compliant
  • Update added for the ARM CMSIS software pack
  • WOLFSSL_IGNORE_FILE_WARN macro added for avoiding build warnings when not working with autotools
  • Performance improvements for AES-GCM with AVX1 and AVX2
  • Fix for possible memory leak on error case with wc_RsaKeyToDer function
  • Make wc_PKCS7_PadData function available
  • Updates made to building SGX on Linux
  • STM32 hashing algorithm improvements including clock/power optimizations and auto detection of if SHA2 is supported
  • Update static memory feature for FREERTOS use
  • Reverse the order that certificates are compared during PKCS12 parse to account for case where multiple certificates have the same matching private key
  • Update NGINX port to version 1.13.8
  • Support for HMAC-SHA3 added
  • Added stricter ASN checks to enforce RFC 5280 rules. Thanks to the report from Professor Zhenhua Duan, Professor Cong Tian, and Ph.D candidate Chu Chen from Institute of Computing Theory and Technology (ICTT) of Xidian University.
  • Option to have ecc_mul2add function public facing
  • Getter function wc_PKCS7_GetAttributeValue added for PKCS7 attributes
  • Macros NO_AES_128, NO_AES_192, NO_AES_256 added for AES key size selection at compile time
  • Support for writing multiple organizations units (OU) and domain components (DC) with CSR and certificate creation
  • Support for indefinite length BER encodings in PKCS7
  • Added API for additional validation of prime q in a public DH key
  • Added support for RSA encrypt and decrypt without padding

See INSTALL file for build instructions.
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html

wolfSSL version 3.13.0

21 Dec 20:11
d1ee0f3
Compare
Choose a tag to compare

wolfSSL (Formerly CyaSSL) Release 3.13.0 (12/21/2017)

wolfSSL 3.13.0 includes bug fixes and new features, including support for
TLS 1.3 Draft 21, performance and footprint optimizations, build fixes,
updated examples and project files, and one vulnerability fix. The full list
of changes and additions in this release include:

  • Fixes for TLS 1.3, support for Draft 21
  • TLS 1.0 disabled by default, addition of “--enable-tlsv10” configure option
  • New option to reduce SHA-256 code size at expense of performance
    (USE_SLOW_SHA256)
  • New option for memory reduced build (--enable-lowresource)
  • AES-GCM performance improvements on AVX1 (IvyBridge) and AVX2
  • SHA-256 and SHA-512 performance improvements using AVX1/2 ASM
  • SHA-3 size and performance optimizations
  • Fixes for Intel AVX2 builds on Mac/OSX
  • Intel assembly for Curve25519, and Ed25519 performance optimizations
  • New option to force 32-bit mode with “--enable-32bit”
  • New option to disable all inline assembly with “--disable-asm”
  • Ability to override maximum signature algorithms using WOLFSSL_MAX_SIGALGO
  • Fixes for handling of unsupported TLS extensions.
  • Fixes for compiling AES-GCM code with GCC 4.8.*
  • Allow adjusting static I/O buffer size with WOLFMEM_IO_SZ
  • Fixes for building without a filesystem
  • Removes 3DES and SHA1 dependencies from PKCS#7
  • Adds ability to disable PKCS#7 EncryptedData type (NO_PKCS7_ENCRYPTED_DATA)
  • Add ability to get client-side SNI
  • Expanded OpenSSL compatibility layer
  • Fix for logging file names with OpenSSL compatibility layer enabled, with
    WOLFSSL_MAX_ERROR_SZ user-overridable
  • Adds static memory support to the wolfSSL example client
  • Fixes for sniffer to use TLS 1.2 client method
  • Adds option to wolfCrypt benchmark to benchmark individual algorithms
  • Adds option to wolfCrypt benchmark to display benchmarks in powers
    of 10 (-base10)
  • Updated Visual Studio for ARM builds (for ECC supported curves and SHA-384)
  • Updated Texas Instruments TI-RTOS build
  • Updated STM32 CubeMX build with fixes for SHA
  • Updated IAR EWARM project files
  • Updated Apple Xcode projects with the addition of a benchmark example project

This release of wolfSSL fixes 1 security vulnerability.

wolfSSL is cited in the recent ROBOT Attack by Böck, Somorovsky, and Young.
The paper notes that wolfSSL only gives a weak oracle without a practical
attack but this is still a flaw. This release contains a fix for this report.
Please note that wolfSSL has static RSA cipher suites disabled by default as
of version 3.6.6 because of the lack of perfect forward secrecy. Only users
who have explicitly enabled static RSA cipher suites with WOLFSSL_STATIC_RSA
and use those suites on a host are affected. More information will be
available on our website at:

https://wolfssl.com/wolfSSL/security/vulnerabilities.php

See INSTALL file for build instructions.
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html

wolfSSL version 3.12.2

24 Oct 21:31
Compare
Choose a tag to compare

wolfSSL (Formerly CyaSSL) Release 3.12.2 (10/23/2017)

Release 3.12.2 of wolfSSL has bug fixes and new features including:

This release includes many performance improvements with Intel ASM (AVX/AVX2) and AES-NI. New single precision math option to speedup RSA, DH and ECC. Embedded hardware support has been expanded for STM32, PIC32MZ and ATECC508A. AES now supports XTS mode for disk encryption. Certificate improvements for setting serial number, key usage and extended key usage. Refactor of SSL_ and hash types to allow openssl coexistence. Improvements for TLS 1.3. Fixes for OCSP stapling to allow disable and WOLFSSL specific user context for callbacks. Fixes for openssl and MySQL compatibility. Updated Micrium port. Fixes for asynchronous modes.

  • Added TLS extension for Supported Point Formats (ec_point_formats)
  • Fix to not send OCSP stapling extensions in client_hello when not enabled
  • Added new API's for disabling OCSP stapling
  • Add check for SIZEOF_LONG with sun and LP64
  • Fixes for various TLS 1.3 disable options (RSA, ECC and ED/Curve 25519).
  • Fix to disallow upgrading to TLS v1.3
  • Fixes for wolfSSL_EVP_CipherFinal() when message size is a round multiple of a block size.
  • Add HMAC benchmark and expanded AES key size benchmarks
  • Added simple GCC ARM Makefile example
  • Add tests for 3072-bit RSA and DH.
  • Fixed DRAFT_18 define and fixed downgrading with TLS v1.3
  • Fixes to allow custom serial number during certificate generation
  • Add method to get WOLFSSL_CTX certificate manager
  • Improvement to wolfSSL_SetOCSP_Cb to allow context per WOLFSSL object
  • Alternate certificate chain support WOLFSSL_ALT_CERT_CHAINS. Enables checking cert against multiple CA's.
  • Added new --disable-oldnames option to allow for using openssl along-side wolfssl headers (without OPENSSL_EXTRA).
  • Refactor SSL_ and hashing types to use wolf specific prefix (WOLFSSL and WC_) to allow openssl coexistence.
  • Fixes for HAVE_INTEL_MULX
  • Cleanup include paths for MySQL cmake build
  • Added configure option for building library for wolfSSH (--enable-wolfssh)
  • Openssl compatibility layer improvements
  • Expanded API unit tests
  • Fixes for STM32 crypto hardware acceleration
  • Added AES XTS mode (--enable-xts)
  • Added ASN Extended Key Usage Support (see wc_SetExtKeyUsage).
  • Math updates and added TFM_MIPS speedup.
  • Fix for creation of the KeyUsage BitString
  • Fix for 8k keys with MySQL compatibility
  • Fixes for ATECC508A.
  • Fixes for PIC32MZ hashing.
  • Fixes and improvements to asynchronous modes for Intel QuickAssist and Cavium Nitrox V.
  • Update HASH_DRBG Reseed mechanism and add test case
  • Rename the file io.h/io.c to wolfio.h/wolfio.c
  • Cleanup the wolfIO_Send function.
  • OpenSSL Compatibility Additions and Fixes
  • Improvements to Visual Studio DLL project/solution.
  • Added function to generate public ECC key from private key
  • Added async blocking support for sniffer tool.
  • Added wolfCrypt hash tests for empty string and large data.
  • Added ability to use of wolf implementation of strtok using USE_WOLF_STRTOK.
  • Updated Micrium uC/OS-III Port
  • Updated root certs for OCSP scripts
  • New Single Precision math option for RSA, DH and ECC (off by default). See --enable-sp.
  • Speedups for AES GCM with AESNI (--enable-aesni)
  • Speedups for SHA2, ChaCha20/Poly1035 using AVX/AVX2

wolfSSL version 3.12.0

07 Aug 21:44
Compare
Choose a tag to compare

wolfSSL (Formerly CyaSSL) Release 3.12.0 (8/04/2017)

Release 3.12.0 of wolfSSL has bug fixes and new features including:

  • TLS 1.3 with Nginx! TLS 1.3 with ARMv8! TLS 1.3 with Async Crypto! (--enable-tls13)
  • TLS 1.3 0RTT feature added
  • Added port for using Intel SGX with Linux
  • Update and fix PIC32MZ port
  • Additional unit testing for MD5, SHA, SHA224, SHA256, SHA384, SHA512, RipeMd, HMAC, 3DES, IDEA, ChaCha20, ChaCha20Poly1305 AEAD, Camellia, Rabbit, ARC4, AES, RSA, Hc128
  • AVX and AVX2 assembly for improved ChaCha20 performance
  • Intel QAT fixes for when using --disable-fastmath
  • Update how DTLS handles decryption and MAC failures
  • Update DTLS session export version number for --enable-sessionexport feature
  • Add additional input argument sanity checks to ARMv8 assembly port
  • Fix for making PKCS12 dynamic types match
  • Fixes for potential memory leaks when using --enable-fast-rsa
  • Fix for when using custom ECC curves and add BRAINPOOLP256R1 test
  • Update TI-RTOS port for dependency on new wolfSSL source files
  • DTLS multicast feature added, --enable-mcast
  • Fix for Async crypto with GCC 7.1 and HMAC when not using Intel QuickAssist
  • Improvements and enhancements to Intel QuickAssist support
  • Added Xilinx port
  • Added SHA3 Keccak feature, --enable-sha3
  • Expand wolfSSL Python wrapper to now include a client side implementation
  • Adjust example servers to not treat a peer closed error as a hard error
  • Added more sanity checks to fp_read_unsigned_bin function
  • Add SHA224 and AES key wrap to ARMv8 port
  • Update MQX classics and mmCAU ports
  • Fix for potential buffer over read with wolfSSL_CertPemToDer
  • Add PKCS7/CMS decode support for KARI with IssuerAndSerialNumber
  • Fix ThreadX/NetX warning
  • Fixes for OCSP and CRL non blocking sockets and for incomplete cert chain with OCSP
  • Added RSA PSS sign and verify
  • Fix for STM32F4 AES-GCM
  • Added enable all feature (--enable-all)
  • Added trackmemory feature (--enable-trackmemory)
  • Fixes for AES key wrap and PKCS7 on Windows VS
  • Added benchmark block size argument
  • Support use of staticmemory with PKCS7
  • Fix for Blake2b build with GCC 5.4
  • Fixes for compiling wolfSSL with GCC version 7, most dealing with switch statement fall through warnings.
  • Added warning when compiling without hardened math operations

Note:
There is a known issue with using ChaCha20 AVX assembly on versions of GCC earlier than 5.2. This is encountered with using the wolfSSL enable options --enable-intelasm and --enable-chacha. To avoid this issue ChaCha20 can be enabled with --enable-chacha=noasm.
If using --enable-intelasm and also using --enable-sha224 or --enable-sha256 there is a known issue with trying to use -fsanitize=address.

This release of wolfSSL fixes 1 low level security vulnerability.

Low level fix for a potential DoS attack on a wolfSSL client. Previously a client would accept many warning alert messages without a limit. This fix puts a limit to the number of warning alert messages received and if this limit is reached a fatal error ALERT_COUNT_E is returned. The max number of warning alerts by default is set to 5 and can be adjusted with the macro WOLFSSL_ALERT_COUNT_MAX. Thanks for the report from Tarun Yadav and Koustav Sadhukhan from Defence Research and Development Organization, INDIA.

See INSTALL file for build instructions.
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html

wolfSSL version 3.11.0

04 May 21:56
Compare
Choose a tag to compare

wolfSSL (Formerly CyaSSL) Release 3.11.0 (5/04/2017)

Release 3.11.0 of wolfSSL has bug fixes and new features including:

  • Code updates for warnings reported by Coverity scans
  • Testing and warning fixes for FreeBSD on PowerPC
  • Updates and refactoring done to ASN1 parsing functions
  • Change max PSK identity buffer to account for an identity length of 128 characters
  • Update Arduino script to handle recent files and additions
  • Added support for PKCS#7 Signed Data with ECDSA
  • Fix for interoperability with ChaCha20-Poly1305 suites using older draft versions
  • DTLS update to allow multiple handshake messages in one DTLS record. Thanks to Eric Samsel over at Welch Allyn for reporting this bug.
  • Intel QuickAssist asynchronous support (PR #715 - https://www.wolfssl.com/wolfSSL/Blog/Entries/2017/1/18_wolfSSL_Asynchronous_Intel_QuickAssist_Support.html)
  • Added support for HAproxy load balancer
  • Added option to allow SHA1 with TLS 1.2 for IIS compatibility (WOLFSSL_ALLOW_TLS_SHA1)
  • Added Curve25519 51-bit Implementation, increasing performance on systems that have 128 bit types
  • Fix to not send session ID on server side if session cache is off unless we're echoing
    session ID as part of session tickets
  • Fixes for ensuring all default ciphers are setup correctly (see PR #830)
  • Added NXP Hexiwear example in IDE/HEXIWEAR.
  • Added wolfSSL_write_dup() to create write only WOLFSSL object for concurrent access
  • Fixes for TLS elliptic curve selection on private key import.
  • Fixes for RNG with Intel rdrand and rdseed speedups.
  • Improved performance with Intel rdrand to use full 64-bit output
  • Added new --enable-intelrand option to indicate use of RDRAND preference for RNG source
  • Removed RNG ARC4 support
  • Added ECC helpers to get size and id from curve name.
  • Added ECC Cofactor DH (ECC-CDH) support
  • Added ECC private key only import / export functions.
  • Added PKCS8 create function
  • Improvements to TLS layer CTX handling for switching keys / certs.
  • Added check for duplicate certificate policy OID in certificates.
  • Normal math speed-up to not allocate on mp_int and defer until mp_grow
  • Reduce heap usage with fast math when not using ALT_ECC_SIZE
  • Fixes for building CRL with Windows
  • Added support for inline CRL lookup when HAVE_CRL_IO is defined
  • Added port for tenAsys INtime RTOS
  • Improvements to uTKernel port (WOLFSSL_uTKERNEL2)
  • Updated WPA Supplicant support
  • Added support for Nginx
  • Update stunnel port for version 5.40
  • Fixes for STM32 hardware crypto acceleration
  • Extended test code coverage in bundled test.c
  • Added a sanity check for minimum authentication tag size with AES-GCM. Thanks to Yueh-Hsun Lin and Peng Li at KNOX Security at Samsung Research America for suggesting this.
  • Added a sanity check that subject key identifier is marked as non-critical and a check that no policy OIDS appear more than once in the cert policies extension. Thanks to the report from Professor Zhenhua Duan, Professor Cong Tian, and Ph.D candidate Chu Chen from Institute of Computing Theory and Technology (ICTT) of Xidian University, China. Profs. Zhenhua Duan and Cong Tian are supervisors of Ph.D candidate Chu Chen.

This release of wolfSSL fixes 5 low and 1 medium level security vulnerability.

3 Low level fixes reported by Yueh-Hsun Lin and Peng Li from KNOX Security, Samsung Research America.

  • Fix for out of bounds memory access in wc_DhParamsLoad() when GetLength() returns a zero. Before this fix there is a case where wolfSSL would read out of bounds memory in the function wc_DhParamsLoad.
  • Fix for DH key accepted by wc_DhAgree when the key was malformed.
  • Fix for a double free case when adding CA cert into X509_store.

Low level fix for memory management with static memory feature enabled. By default static memory is disabled. Thanks to GitHub user hajjihraf for reporting this.

Low level fix for out of bounds write in the function wolfSSL_X509_NAME_get_text_by_NID. This function is not used by TLS or crypto operations but could result in a buffer out of bounds write by one if called explicitly in an application. Discovered by Aleksandar Nikolic of Cisco Talos. http://talosintelligence.com/vulnerability-reports/

Medium level fix for check on certificate signature. There is a case in release versions 3.9.10, 3.10.0 and 3.10.2 where a corrupted signature on a peer certificate would not be properly flagged. Thanks to Wens Lo, James Tsai, Kenny Chang, and Oscar Yang at Castles Technology.

See INSTALL file for build instructions.
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html

wolfSSL version 3.10.2

17 Feb 21:58
Compare
Choose a tag to compare

wolfSSL (Formerly CyaSSL) Release 3.10.2 (2/10/2017)

Release 3.10.2 of wolfSSL has bug fixes and new features including:

  • Poly1305 Windows macros fix. Thanks to GitHub user Jay Satiro
  • Compatibility layer expanded with multiple functions added
  • Improve fp_copy performance with ALT_ECC_SIZE
  • OCSP updates and improvements
  • Fixes for IAR EWARM 8 compiler warnings
  • Reduce stack usage with ECC_CACHE_CURVE disabled
  • Added ECC export raw for public and private key
  • Fix for NO_ASN_TIME build
  • Supported curves extensions now populated by default
  • Add DTLS build without big integer math
  • Fix for static memory feature with wc_ecc_verify_hash_ex and not SHAMIR
  • Added PSK interoperability testing to script bundled with wolfSSL
  • Fix for Python wrapper random number generation. Compiler optimizations with Python could place the random number in same buffer location each time. Thanks to GitHub user Erik Bray (embray)
  • Fix for tests on unaligned memory with static memory feature
  • Add macro WOLFSSL_NO_OCSP_OPTIONAL_CERTS to skip optional OCSP certificates
  • Sanity checks on NULL arguments added to wolfSSL_set_fd and wolfSSL_DTLS_SetCookieSecret
  • mp_jacobi stack use reduced, thanks to Szabi Tolnai for providing a solution to reduce stack usage

This release of wolfSSL fixes 2 low and 1 medium level security vulnerability.

Low level fix of buffer overflow for when loading in a malformed temporary DH file. Thanks to Yueh-Hsun Lin and Peng Li from KNOX Security, Samsung Research America for the report.

Medium level fix for processing of OCSP response. If using OCSP without hard faults enforced and no alternate revocation checks like OCSP stapling then it is recommended to update.

Low level fix for potential cache attack on RSA operations. If using wolfSSL RSA on a server that other users can have access to monitor the cache, then it is recommended to update wolfSSL. Thanks to Andreas Zankl, Johann Heyszl and Georg Sigl at Fraunhofer AISEC for the initial report.

See INSTALL file for build instructions.
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html

wolfSSL version 3.10.0

23 Dec 22:21
Compare
Choose a tag to compare

wolfSSL (Formerly CyaSSL) Release 3.10.0 (12/21/2016)

Release 3.10.0 of wolfSSL has bug fixes and new features including:

  • Added support for SHA224
  • Added scrypt feature
  • Build for Intel SGX use, added in directory IDE/WIN-SGX
  • Fix for ChaCha20-Poly1305 ECDSA certificate type request
  • Enhance PKCS#7 with ECC enveloped data and AES key wrap support
  • Added support for RIOT OS
  • Add support for parsing PKCS#12 files
  • ECC performance increased with custom curves
  • ARMv8 expanded to AArch32 and performance increased
  • Added ANSI-X9.63-KDF support
  • Port to STM32 F2/F4 CubeMX
  • Port to Atmel ATECC508A board
  • Removed fPIE by default when wolfSSL library is compiled
  • Update to Python wrapper, dropping DES and adding wc_RSASetRNG
  • Added support for NXP K82 hardware acceleration
  • Added SCR client and server verify check
  • Added a disable rng option with autoconf
  • Added more tests vectors to test.c with AES-CTR
  • Updated DTLS session export version number
  • Updated DTLS for 64 bit sequence numbers
  • Fix for memory management with TI and WOLFSSL_SMALL_STACK
  • Hardening RSA CRT to be constant time
  • Fix uninitialized warning with IAR compiler
  • Fix for C# wrapper example IO hang on unexpected connection termination

This release of wolfSSL fixes a low level security vulnerability. The vulnerability reported was a potential cache attack on RSA operations. If using wolfSSL RSA on a server that other users can have access to monitor the cache, then it is recommended to update wolfSSL. Thanks to Andreas Zankl, Johann Heyszl and Georg Sigl at Fraunhofer AISEC for the report. More information will be available on our site:

https://wolfssl.com/wolfSSL/security/vulnerabilities.php

See INSTALL file for build instructions.
More info can be found on-line at http://wolfssl.com/wolfSSL/Docs.html

v3.9.10-stable

27 Oct 18:44
Compare
Choose a tag to compare
wolfSSL release v3.9.10