Skip to content

Commit c20d80c

Browse files
authored
Merge pull request #6 from gojimmypi/Arduino-5.7.0
wolfSSL v5.7.0 for Arduino
2 parents 32a78d6 + b1c19bf commit c20d80c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+6863
-1375
lines changed

.gitignore

Lines changed: 5 additions & 425 deletions
Large diffs are not rendered by default.

ChangeLog.md

Lines changed: 91 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,97 @@
1-
# wolfSSL Release X.Y.Z (TBD)
1+
# wolfSSL Release 5.7.0 (Mar 20, 2024)
2+
3+
Release 5.7.0 has been developed according to wolfSSL's development and QA
4+
process (see link below) and successfully passed the quality criteria.
5+
https://www.wolfssl.com/about/wolfssl-software-development-process-quality-assurance
6+
7+
NOTE: * --enable-heapmath is being deprecated and will be removed by end of 2024
8+
9+
NOTE: In future releases, --enable-des3 (which is disabled by default) will be insufficient in itself to enable DES3 in TLS cipher suites. A new option, --enable-des3-tls-suites, will need to be supplied in addition. This option should only be used in backward compatibility scenarios, as it is inherently insecure.
210

311
NOTE: This release switches the default ASN.1 parser to the new ASN template code. If the original ASN.1 code is preferred define `WOLFSSL_ASN_ORIGINAL` to use it. See PR #7199.
412

13+
14+
## Vulnerabilities
15+
* [High] CVE-2024-0901 Potential denial of service and out of bounds read. Affects TLS 1.3 on the server side when accepting a connection from a malicious TLS 1.3 client. If using TLS 1.3 on the server side it is recommended to update the version of wolfSSL used. Fixed in this GitHub pull request https://github.com/wolfSSL/wolfssl/pull/7099
16+
17+
18+
* [Med] CVE-2024-1545 Fault Injection vulnerability in RsaPrivateDecryption function that potentially allows an attacker that has access to the same system with a victims process to perform a Rowhammer fault injection. Thanks to Junkai Liang, Zhi Zhang, Xin Zhang, Qingni Shen for the report (Peking University, The University of Western Australia)."
19+
Fixed in this GitHub pull request https://github.com/wolfSSL/wolfssl/pull/7167
20+
21+
22+
* [Med] Fault injection attack with EdDSA signature operations. This affects ed25519 sign operations where the system could be susceptible to Rowhammer attacks. Thanks to Junkai Liang, Zhi Zhang, Xin Zhang, Qingni Shen for the report (Peking University, The University of Western Australia).
23+
Fixed in this GitHub pull request https://github.com/wolfSSL/wolfssl/pull/7212
24+
25+
26+
## New Feature Additions
27+
28+
* Added --enable-experimental configure flag to gate out features that are currently experimental. Now liboqs, kyber, lms, xmss, and dual-alg-certs require the --enable-experimental flag.
29+
30+
### POST QUANTUM SUPPORT ADDITIONS
31+
* Experimental framework for using wolfSSL’s XMSS implementation (PR 7161)
32+
* Experimental framework for using wolfSSL’s LMS implementation (PR 7283)
33+
* Experimental wolfSSL Kyber implementation and assembly optimizations, enabled with --enable-experimental --enable-kyber (PR 7318)
34+
* Experimental support for post quantum dual key/signature certificates. A few known issues and sanitizer checks are in progress with this feature. Enabled with the configure flags --enable-experimental --enable-dual-alg-certs (PR 7112)
35+
* CryptoCb support for PQC algorithms (PR 7110)
36+
37+
### OTHER FEATURE ADDITIONS
38+
* The Linux kernel module now supports registration of AES-GCM, AES-XTS, AES-CBC, and AES-CFB with the kernel cryptosystem through the new --enable-linuxkm-lkcapi-register option, enabling automatic use of wolfCrypt implementations by the dm-crypt/luks and ESP subsystems. In particular, wolfCrypt AES-XTS with –enable-aesni is faster than the native kernel implementation.
39+
* CryptoCb hook to one-shot CMAC functions (PR 7059)
40+
* BER content streaming support for PKCS7_VerifySignedData and sign/encrypt operations (PR 6961 & 7184)
41+
* IoT-Safe SHA-384 and SHA-512 support (PR 7176)
42+
* I/O callbacks for content and output with PKCS7 bundle sign/encrypt to reduce peak memory usage (PR 7272)
43+
* Microchip PIC24 support and example project (PR 7151)
44+
* AutoSAR shim layer for RNG, SHA256, and AES (PR 7296)
45+
* wolfSSL_CertManagerUnloadIntermediateCerts API to clear intermediate certs added to certificate store (PR 7245)
46+
* Implement SSL_get_peer_signature_nid and SSL_get_peer_signature_type_nid (PR 7236)
47+
48+
49+
## Enhancements and Optimizations
50+
51+
* Remove obsolete user-crypto functionality and Intel IPP support (PR 7097)
52+
* Support for RSA-PSS signatures with CRL use (PR 7119)
53+
* Enhancement for AES-GCM use with Xilsecure on Microblaze (PR 7051)
54+
* Support for crypto cb only build with ECC and NXP CAAM (PR 7269)
55+
* Improve liboqs integration adding locking and init/cleanup functions (PR 7026)
56+
* Prevent memory access before clientSession->serverRow and clientSession->serverIdx are sanitized (PR 7096)
57+
* Enhancements to reproducible build (PR 7267)
58+
* Update Arduino example TLS Client/Server and improve support for ESP32 (PR 7304 & 7177)
59+
* XC32 compiler version 4.x compatibility (PR 7128)
60+
* Porting for build on PlayStation 3 and 4 (PR 7072)
61+
* Improvements for Espressif use; SHA HW/SW selection and use on ESP32-C2/ESP8684, wolfSSL_NewThread() type, component cmake fix, and update TLS client example for ESP8266 (PR 7081, 7173, 7077, 7148, 7240)
62+
* Allow crypto callbacks with SHA-1 HW (PR 7087)
63+
* Update OpenSSH port to version 9.6p1(PR 7203)
64+
* ARM Thumb2 enhancements, AES-GCM support for GCM_SMALL, alignment fix on key, fix for ASM clobber list (PR 7291,7301,7221)
65+
* Expand heap hint support for static memory build with more x509 functions (PR 7136)
66+
* Improving ARMv8 ChaCha20 ASM (alignment) (PR 7182)
67+
* Unknown extension callback wolfSSL_CertManagerSetUnknownExtCallback added to CertManager (PR 7194)
68+
* Implement wc_rng_new_ex for use with devID’s with crypto callback (PR 7271)
69+
* Allow reading 0-RTT data after writing 0.5-RTT data (PR 7102)
70+
* Send alert on bad PSK binder error (PR 7235)
71+
* Enhancements to CMake build files for use with cross compiling (PR 7188)
72+
73+
74+
## Fixes
75+
76+
* Fix for checking result of MAC verify when no AAD is used with AES-GCM and Xilinx Xilsecure (PR 7051)
77+
* Fix for Aria sign use (PR 7082)
78+
* Fix for invalid `dh_ffdhe_test` test case using Intel QuickAssist (PR 7085)
79+
* Fixes for TI AES and SHA on TM4C with HW acceleration and add full AES GCM and CCM support with TLS (PR 7018)
80+
* Fixes for STM32 PKA use with ECC (PR 7098)
81+
* Fixes for TLS 1.3 with crypto callbacks to offload KDF / HMAC operation (PR 7070)
82+
* Fix include path for FSP 3.5 on Renesas RA6M4 (PR 7101)
83+
* Siphash x64 asm fix for use with older compilers (PR 7299)
84+
* Fix for SGX build with SP (PR 7308)
85+
* Fix to Make it mandatory that the cookie is sent back in new ClientHello when seen in a HelloRetryRequest with (PR 7190)
86+
* Fix for wrap around behavior with BIO pairs (PR 7169)
87+
* OCSP fixes for parsing of response correctly when there was a revocation reason and returning correct error value with date checks (PR 7241 & 7255)
88+
* Fix build with `NO_STDIO_FILESYSTEM` and improve checks for `XGETENV` (PR 7150)
89+
* Fix for DTLS sequence number and cookie when downgrading DTLS version (PR 7214)
90+
* Fix for write_dup use with chacha-poly cipher suites (PR 7206)
91+
* Fix for multiple handshake messages in one record failing with OUT_OF_ORDER_E when downgrading from TLS 1.3 to TLS 1.2 (PR 7141)
92+
* Fix for AES ECB build with Thumb and alignment (PR 7094)
93+
* Fix for negotiate handshake until the end in wolfSSL_read/wolfSSL_write if hitting an edge case with want read/write (PR 7237)
94+
595
# wolfSSL Release 5.6.6 (Dec 19, 2023)
696

797
Release 5.6.6 has been developed according to wolfSSL's development and QA

0 commit comments

Comments
 (0)