Il progetto LibreSSL ha annunciato il rilascio della versione 4.3.0, che è già disponibile sui mirror di OpenBSD.
Si tratta di una versione di sviluppo per il ramo 4.3.x, quindi gli sviluppatori invitano la comunità a partecipare attivamente ai test. Non sono previste ulteriori modifiche all'API e all'ABI nel ramo 4.3.
Una delle novità principali di questa versione è il supporto per il metodo di scambio delle chiavi post-quantistiche MLKEM768_X25519 in TLS, in conformità con la bozza IETF draft-ietf-tls-ecdhe-mlkem. È stato corretto un errore di «off-by-one» nel controllo della profondità del certificato X.509, che potrebbe portare a sovrascrivere 4 byte in memoria quando si lavora con malintenzionati server o con la verifica dei certificati client abilitata. La profondità massima è ora limitata a 32. Il problema è stato scoperto dalla Calif.io in collaborazione con Claude e Anthropic Research.
Miglioramenti interni:
- Sono stati rimossi frammenti di codice obsoleti, residui del supporto per SSLv2 e SSLv3/TLS 1.0.
- Funzione ec_point_cmp() riscritta.
- A DH_check() è stato aggiunto un percorso rapido per numeri primi DH ben noti, compresi i numeri RFC 7919.
Modifiche alla compatibilità:
- Rimossi numerosi macro BN_* non utilizzati con nomi non informativi (BN_LONG, BN_BITS4, BN_MASK2, ecc.).
- openssl(1) cms non accetta più chiavi non supportate -compress e -uncompress.
- Aggiunto il flag PKCS7_NO_DUAL_CONTENT per un comportamento compatibile con alcuni binding linguistici.
Correzioni di bug:
- Eliminati i leak di memoria in CMS_EncryptedData_encrypt() e nref_nos().
- Corretto il codifica delle stringhe di bit con zeri finali.
- Risolto il crash durante l'analisi di PKCS#12 e delle risposte timestamp.
- Corrette diverse anomalie in libtls (verifiche di lunghezza, coerenza nei messaggi di errore).
Altro:
- In libssl aggiunta la supporto per l'algoritmo RSASSA-PSS con OID.
- Aggiunte all'API pubblica le funzioni X509_VERIFY_PARAM_set_hostflags() e SSL_SESSION_dup().
- BIGNUM ora utilizza i tipi standard C99 (uint64_t/uint32_t), risolvendo problemi su Windows a 64 bit.
Fonte: linux.org.ru
