El proyecto LibreSSL ha anunciado el lanzamiento de la versión 4.3.0, que ya está disponible en los espejos de OpenBSD.
Esta es una versión de desarrollo para la rama 4.3.x, por lo que los desarrolladores invitan a la comunidad a realizar pruebas activas. No se planean más cambios en la API y ABI de la rama 4.3.
La característica clave de esta versión es el soporte del método de intercambio de claves post-cuánticas MLKEM768_X25519 en TLS, de acuerdo con el borrador IETF draft-ietf-tls-ecdhe-mlkem. Se ha corregido un error de 'off-by-one' en la verificación de la profundidad del certificado X.509, que podía provocar la sobrescritura de 4 bytes en memoria al trabajar con malware el servidor o con la verificación de certificados de cliente habilitada. La profundidad máxima ahora está limitada a 32. El problema fue descubierto por Calif.io en colaboración con Claude y Anthropic Research.
Mejoras internas:
- Se eliminaron fragmentos de código obsoletos que quedaban de la compatibilidad con SSLv2 y SSLv3/TLS 1.0.
- Se reescribió ec_point_cmp().
- Se ha añadido una ruta rápida en DH_check() para primos DH bien conocidos, incluidos los números del RFC 7919.
Cambios de compatibilidad:
- Se han eliminado numerosos macros no utilizados BN_* con nombres no informativos (BN_LONG, BN_BITS4, BN_MASK2, etc.).
- openssl(1) cms ya no acepta claves no soportadas -compress y -uncompress..
- Se añadió el flag PKCS7_NO_DUAL_CONTENT para comportamiento compatible con algunos bindings de lenguajes.
Correcciones de errores:
- Se corrigieron fugas de memoria en CMS_EncryptedData_encrypt() y nref_nos().
- Se corrigió la codificación de cadenas de bits con ceros finales.
- Se eliminó un fallo al analizar PKCS#12 y respuestas de timestamp.
- Se corrigieron múltiples errores en libtls (comprobaciones de longitud, coherencia de mensajes de error).
Otros:
- Se ha añadido soporte para el algoritmo RSASSA-PSS con OID en libssl.
- Se han agregado las funciones X509_VERIFY_PARAM_set_hostflags() y SSL_SESSION_dup() a la API pública.
- BIGNUM ahora utiliza tipos estándar de C99 (uint64_t/uint32_t), lo que corrige problemas en Windows de 64 bits.
Fuente: linux.org.ru
