Wydano bibliotekę OpenSSL 3.6.0, która oferuje implementację protokołów SSL/TLS oraz różnych algorytmów szyfrowania. OpenSSL 3.6 jest klasyfikowane jako wersja ze standardowym okresem wsparcia, a aktualizacje będą wydawane przez 13 miesięcy. Wsparcie dla wcześniejszych wersji OpenSSL 3.5 LTS, 3.4, 3.3, 3.2 i 3.0 LTS potrwa do kwietnia 2030 roku, października 2026 roku, kwietnia 2026 roku, listopada 2025 roku i września 2026 roku odpowiednio. Kod projektu jest dostępny na licencji Apache 2.0.
Główne nowości:
- Dodano wsparcie dla struktury EVP_SKEY (symetryczny klucz) do reprezentacji symetrycznych kluczy jako nieprzezroczystych obiektów. W przeciwieństwie do surowych kluczy, reprezentowanych jako tablice bajtów, w strukturze EVP_SKEY klucz jest abstrakcyjny i zawiera dodatkowe metadane. Struktura EVP_SKEY może być używana w funkcjach szyfrowania, wymiany kluczy oraz generowania kluczy (KDF). Dodano funkcje EVP_KDF_CTX_set_SKEY(), EVP_KDF_derive_SKEY() oraz EVP_PKEY_derive_SKEY() do obsługi kluczy EVP_SKEY.
- Dodano wsparcie dla weryfikacji podpisów cyfrowych na podstawie schematu LMS (Leighton-Micali Signatures), który wykorzystuje funkcje skrótu oraz drzewiaste haszowanie w formie drzewa Merkle (Merkle Tree, każda gałąź weryfikuje wszystkie niższe gałęzie i węzły). Podpisy cyfrowe LMS są odporne na ataki z użyciem komputerów kwantowych i zostały zaprojektowane w celu zapewnienia integralności oprogramowania układowego oraz aplikacji.
- Dodano wsparcie dla kategorii bezpieczeństwa NIST dla parametrów obiektów PKEY (klucze publiczne i prywatne). Ustalanie kategorii bezpieczeństwa odbywa się poprzez ustawienie "security-category". Do sprawdzenia poziomu bezpieczeństwa dodano funkcję EVP_PKEY_get_security_category(). Poziom bezpieczeństwa odzwierciedla odporność na ataki z wykorzystaniem komputerów kwantowych i może przyjmować całkowite wartości od 0 do 5:
- 0 — implementacja, która nie jest odporna na włamanie z użyciem komputerów kwantowych;
- 1/3/5 — implementacja nie wyklucza poszukiwania klucza w szyfrze blokowym o długości 128/192/256 bitów z wykorzystaniem komputera kwantowego;
- 2/4 — implementacja nie wyklucza poszukiwania kolizji w 256/384-bitowym funkcje skrótu z wykorzystaniem komputera kwantowego.
- Dodano polecenie "openssl configutl" do przetwarzania pliku konfiguracyjnego. Narzędzie umożliwia stworzenie podsumowującego pliku ze wszystkimi ustawieniami na podstawie konfiguracji wieloplikowej z dołączonymi plikami.
- W kryptoproviderze FIPS dodano wsparcie dla deterministycznego generowania podpisów cyfrowych ECDSA (przy tych samych danych wejściowych generowany jest ten sam podpis), zgodnie z wymaganiami standardu FIPS 186-5.
- Zwiększono wymagania dotyczące środowiska budowy. Do zbudowania OpenSSL nie wystarcza już narzędzi do obsługi ANSI-C; wymagany jest kompilator zgodny ze standardem C-99.
- Ogłoszono przestarzałymi funkcje związane ze strukturą EVP_PKEY_ASN1_METHOD.
- Zakończono wsparcie dla platformy VxWorks.
Poprawione luki bezpieczeństwa:
- CVE-2025-9230 — luka w kodzie deszyfracji wiadomości CMS zaszyfrowanych przy użyciu hasła (PWRI). Luka ta może prowadzić do zapisu i odczytu danych poza przydzielonym buforem, co umożliwia inicjowanie awaryjnego zakończenia działania lub uszkodzenia pamięci w aplikacji korzystającej z OpenSSL do przetwarzania wiadomości CMS. Nie można wykluczyć wykorzystania luki w celu wykonania własnego kodu, jednak zagrożenie problemu zmniejsza to, że szyfrowanie wiadomości CMS przy użyciu hasła w praktyce jest stosunkowo rzadko stosowane. Oprócz wersji OpenSSL 3.6.0 luka została naprawiona w wydaniach OpenSSL 3.5.4, 3.4.3, 3.3.5, 3.2.6 i 3.0.18. Problem został również rozwiązany w aktualizacjach biblioteki LibreSSL 4.0.1 i 4.1.1, rozwijanej przez projekt OpenBSD.
- CVE-2025-9231 — realizacja algorytmu SM2 jest podatna na atak przez kanały boczne, który pozwala na rekonstrukcję klucza prywatnego na systemach z 64-bitowymi procesorami ARM poprzez analizowanie zmiany czasu wykonania pojedynczych obliczeń. Potencjalnie atak może być przeprowadzony zdalnie. Zagrożenie ataku zmniejsza to, że OpenSSL nie obsługuje bezpośrednio użycia certyfikatów z kluczami SM2 w TLS.
- CVE-2025-9232 — luka w implementacji wbudowanego klienta HTTP, prowadząca do odczytu danych z obszaru ponad buforem podczas przetwarzania w funkcjach klienta HTTP specjalnie sformatowanego URL. Problem występuje tylko przy ustawionej zmiennej środowiskowej „no_proxy” i może prowadzić do awaryjnego zakończenia aplikacji.
Źródło: opennet.ru
