LibreSSL 4.3.0

Проект LibreSSL объявил о выпуске версии 4.3.0, которая уже доступна на зеркалах OpenBSD.
Это development-выпуск для ветки 4.3.x, поэтому разработчики призывают сообщество к активному тестированию. Дальнейших изменений API и ABI в ветке 4.3 не планируется.
Ключевым нововведением этой версии стала поддержка постквантового метода обмена ключами MLKEM768_X25519 в TLS в соответствии с черновиком IETF draft-ietf-tls-ecdhe-mlkem. Устранена ошибка «off-by-one» в проверке глубины сертификата X.509, которая могла привести к перезаписи 4 байт в памяти при работе с вредоносным сервером или при включённой проверке клиентских сертификатов. Максимальная глубина теперь ограничена 32. Проблема была обнаружена компанией Calif.io в сотрудничестве с Claude и Anthropic Research.
Внутренние улучшения:
- Удалены устаревшие фрагменты кода, оставшиеся от поддержки SSLv2 и SSLv3/TLS 1.0.
- Переписан ec_point_cmp ().
- В DH_check () добавлен быстрый путь для хорошо известных простых чисел DH, включая числа из RFC 7919.
Изменения совместимости:
- Удалено множество неиспользуемых макросов BN_* с неинформативными именами (BN_LONG, BN_BITS4, BN_MASK2 и др.).
- openssl (1) cms больше не принимает неподдерживаемые ключи -compress и -uncompress…
- Добавлен флаг PKCS7_NO_DUAL_CONTENT для совместимого поведения с некоторыми языковыми привязками.
Исправления ошибок:
- Устранены утечки памяти в CMS_EncryptedData_encrypt () и nref_nos ().
- Исправлено кодирование битовых строк с завершающими нулями.
- Устранено падение при разборе PKCS#12 и timestamp-ответов.
- Исправлено множество ошибок в libtls (проверки длины, консистентность сообщений об ошибках).
Прочее:
- В libssl добавлена поддержка алгоритма RSASSA-PSS с OID.
- В публичное API добавлены функции X509_VERIFY_PARAM_set_hostflags () и SSL_SESSION_dup ().
- BIGNUM теперь использует стандартные типы C99 (uint64_t/uint32_t), что исправляет проблемы на 64-битной Windows.
>>> Источник
