O projeto LibreSSL anunciou o lançamento da versão 4.3.0, que já está disponível nos espelhos do OpenBSD.
Este é um lançamento de desenvolvimento para a branch 4.3.x, portanto, os desenvolvedores convocam a comunidade para testes ativos. Não estão previstas mais alterações na API e ABI da branch 4.3.
A principal novidade desta versão foi o suporte ao método pós-quântico de troca de chaves MLKEM768_X25519 no TLS, conforme o rascunho do IETF draft-ietf-tls-ecdhe-mlkem. Um erro de 'off-by-one' na verificação da profundidade do certificado X.509 foi corrigido, que poderia causar a sobrescrição de 4 bytes na memória ao trabalhar com código malicioso servidor ou com a verificação de certificados de cliente ativada. A profundidade máxima agora é limitada a 32. O problema foi detectado pela Calif.io em colaboração com Claude e a Anthropic Research.
Melhorias internas:
- Fragmentos de código obsoletos, remanescentes do suporte ao SSLv2 e SSLv3/TLS 1.0, foram removidos.
- ec_point_cmp() foi reescrito.
- Foi adicionada uma rota rápida para números primos DH bem conhecidos em DH_check(), incluindo números da RFC 7919.
Alterações de compatibilidade:
- Vários macros BN_* não utilizados com nomes não informativos (BN_LONG, BN_BITS4, BN_MASK2, etc.) foram removidos.
- openssl(1) cms não aceita mais chaves não suportadas -compress e -uncompress.
- Um sinalizador PKCS7_NO_DUAL_CONTENT foi adicionado para um comportamento compatível com algumas linguagens de vinculação.
Correções de bugs:
- Vazamentos de memória em CMS_EncryptedData_encrypt() e nref_nos() foram corrigidos.
- A codificação de strings de bits com zeros finais foi corrigida.
- Foi corrigido um erro ao analisar PKCS#12 e respostas de timestamp.
- Diversos erros em libtls (verificações de comprimento, consistência nas mensagens de erro) foram corrigidos.
Outras:
- O suporte ao algoritmo RSASSA-PSS com OID foi adicionado ao libssl.
- As funções X509_VERIFY_PARAM_set_hostflags() e SSL_SESSION_dup() foram adicionadas à API pública.
- BIGNUM agora utiliza os tipos padrão C99 (uint64_t/uint32_t), o que corrige problemas no Windows de 64 bits.
Fonte: linux.org.ru
