OpenSSL 3.6.0, en implementering av SSL/TLS-protokollen och olika krypteringsalgoritmer, har släppts. OpenSSL 3.6 är en regelbunden supportversion, med uppdateringar tillgängliga i 13 månader. Stöd för tidigare OpenSSL-versioner – 3.5 LTS, 3.4, 3.3, 3.2 och 3.0 LTS – kommer att fortsätta till april 2030, oktober 2026, april 2026, november 2025 respektive september 2026. Projektets kod är licensierad under Apache 2.0-licensen.
Huvudsakliga innovationer:
- Lade till stöd för EVP_SKEY-strukturen (Symmetric KEY) för att representera symmetriska nycklar som ogenomskinliga objekt. Till skillnad från råa nycklar, som representeras som en byte-array, abstraherar EVP_SKEY nyckelstrukturen och innehåller ytterligare metadata. EVP_SKEY kan användas i kryptering, nyckelutbyte och nyckelderiveringsfunktioner (KDF). Funktionerna EVP_KDF_CTX_set_SKEY(), EVP_KDF_derive_SKEY() och EVP_PKEY_derive_SKEY() har lagts till för att arbeta med EVP_SKEY-nycklar.
- Stöd har lagts till för verifiering av digitala signaturer baserat på Leighton-Micali Signatures (LMS)-schemat, som använder hashfunktioner och trädbaserad hashing i form av ett Merkle-träd (varje gren verifierar alla underliggande grenar och noder). Digitala LMS-signaturer är resistenta mot brute-force-testning på en kvantdator och är utformade för att verifiera integriteten hos firmware och applikationer.
- Lade till stöd för NIST-säkerhetskategorier för PKEY-objektparametrar (publika och privata nycklar). Säkerhetskategorin ställs in via inställningen "security-category". Funktionen EVP_PKEY_get_security_category() har lagts till för att kontrollera säkerhetsnivån. Säkerhetsnivån återspeglar motståndskraften mot brute-force-attacker på kvantdatorer och kan anta heltal från 0 till 5:
- 0 - implementeringen är inte resistent mot hackning på kvantdatorer;
- 1/3/5 — implementeringen utesluter inte möjligheten att söka efter en nyckel i ett blockchiffer med en 128/192/256-bitars nyckel på en kvantdator;
- 2/4 - implementeringen utesluter inte möjligheten att söka efter en kollision i en 256/384-bitars hash på en kvantdator).
- Kommandot "openssl configutl" har lagts till för att bearbeta konfigurationsfiler. Det här verktyget låter dig generera en konsoliderad fil med alla inställningar från en konfiguration med flera filer med includes.
- FIPS-kryptografiska leverantören har uppdaterats för att stödja deterministisk generering av digitala ECDSA-signaturer (samma signatur genereras med samma indata), i enlighet med kraven i FIPS 186-5-standarden.
- Kraven på byggmiljön har höjts. Att bygga OpenSSL kräver inte längre verktyg med ANSI-C-stöd; en C-99-kompatibel kompilator krävs nu.
- Funktioner relaterade till EVP_PKEY_ASN1_METHOD-strukturen har föråldrats.
- Stödet för VxWorks-plattformen har upphört.
Fixade sårbarheter:
- CVE-2025-9230 är en sårbarhet i dekrypteringskoden för lösenordskrypterade CMS-meddelanden (PWRI). Sårbarheten kan leda till att data utanför gränserna skrivs eller läses, vilket kan leda till en krasch eller minneskorruption i en applikation som använder OpenSSL för att bearbeta CMS-meddelanden. Även om det är möjligt att utnyttja denna sårbarhet för kodkörning, mildras problemets allvarlighetsgrad av det faktum att lösenordskrypterade CMS-meddelanden sällan används i praktiken. Förutom OpenSSL 3.6.0 åtgärdades sårbarheten i OpenSSL 3.5.4, 3.4.3, 3.3.5, 3.2.6 och 3.0.18. Problemet åtgärdades också i LibreSSL 4.0.1 och 4.1.1, ett bibliotek som utvecklats av OpenBSD-projektet.
- CVE-2025-9231 — Implementeringen av SM2-algoritmen är sårbar för sidokanalattacker. På system med 64-bitars ARM-processorer möjliggör detta återställning av privata nycklar genom att analysera tidpunkten för enskilda beräkningar. Attacken kan potentiellt utföras på distans. Risken med attacken minskas av att OpenSSL inte direkt stöder användningen av certifikat med SM2-nycklar i TLS.
- CVE-2025-9232 är en sårbarhet i den inbyggda HTTP-klientimplementeringen som tillåter läsning av data utanför gränserna vid bearbetning av en specialskriven URL i HTTP-klientfunktioner. Problemet uppstår endast när miljövariabeln "no_proxy" är inställd och kan leda till en programkrasch.
Källa: opennet.ru
