Projekt LibreSSL ogłosił wydanie wersji 4.3.0, która jest już dostępna na lustrzanych serwerach OpenBSD.
Jest to wydanie rozwojowe dla gałęzi 4.3.x, dlatego deweloperzy wzywają społeczność do aktywnego testowania. Żadne dalsze zmiany API i ABI w gałęzi 4.3 nie są planowane.
Kluczową nowością tej wersji jest wsparcie dla postkwantowej metody wymiany kluczy MLKEM768_X25519 w TLS zgodnie z roboczym dokumentem IETF draft-ietf-tls-ecdhe-mlkem. Usunięto błąd „off-by-one” w weryfikacji głębokości certyfikatu X.509, który mógł prowadzić do nadpisania 4 bajtów w pamięci podczas pracy z złośliwym serwerem lub podczas włączonej weryfikacji certyfikatów klientów. Maksymalna głębokość jest teraz ograniczona do 32. Problem został wykryty przez firmę Calif.io we współpracy z Claude i Anthropic Research.
Wewnętrzne usprawnienia:
- Usunięto przestarzałe fragmenty kodu, pozostające po wsparciu SSLv2 i SSLv3/TLS 1.0.
- Przepisano ec_point_cmp().
- W DH_check() dodano szybkie ścieżki dla znanych liczb pierwszych DH, w tym liczby z RFC 7919.
Zmiany w kompatybilności:
- Usunięto wiele nieużywanych makr BN_* z nieinformacyjnymi nazwami (BN_LONG, BN_BITS4, BN_MASK2 itd.).
- openssl(1) cms już nie akceptuje nieobsługiwanych kluczy -compress i -uncompress.
- Dodano flagę PKCS7_NO_DUAL_CONTENT dla kompatybilnego zachowania z niektórymi wiązaniami językowymi.
Poprawki błędów:
- Usunięto wycieki pamięci w CMS_EncryptedData_encrypt() i nref_nos().
- Naprawiono kodowanie bitowych ciągów z końcowymi zerami.
- Usunięto awarię podczas analizy PKCS#12 i odpowiedzi na znacznik czasu.
- Naprawiono wiele błędów w libtls (weryfikacja długości, spójność komunikatów o błędach).
Inne:
- W libssl dodano wsparcie dla algorytmu RSASSA-PSS z OID.
- Do publicznego API dodano funkcje X509_VERIFY_PARAM_set_hostflags() i SSL_SESSION_dup().
- BIGNUM teraz używa standardowych typów C99 (uint64_t/uint32_t), co naprawia problemy w 64-bitowym Windows.
Źródło: linux.org.ru
