The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск OpenSSL 3.6.0 с поддержкой EVP_SKEY и устранением переполнения буфера

02.10.2025 10:00

Состоялся релиз библиотеки OpenSSL 3.6.0, предлагающей с реализацию протоколов SSL/TLS и различных алгоритмов шифрования. OpenSSL 3.6 отнесён к выпускам с обычным сроком поддержки, обновления для которых выпускаются в течение 13 месяцев. Поддержка прошлых веток OpenSSL 3.5 LTS, 3.4, 3.3, 3.2 и 3.0 LTS продлится до апреля 2030 года, октября 2026 года, апреля 2026 года, ноября 2025 года и сентября 2026 года соответственно. Код проекта распространяется под лицензией Apache 2.0.

Основные новшества:

  • Добавлена поддержка структуры EVP_SKEY (Symmetric KEY) для представления симметричных ключей как непрозрачных (opaque) объектов. В отличие от raw-ключей, представленных массивом байтов, в EVP_SKEY структура ключа абстрагируется и содержит дополнительные метаданные. Допустимо применение EVP_SKEY в функциях шифрования, обмена ключами и формирования ключей (KDF). Для работы с ключами EVP_SKEY добавлены функции EVP_KDF_CTX_set_SKEY(), EVP_KDF_derive_SKEY() и EVP_PKEY_derive_SKEY().
  • Добавлена поддержка верификации цифровых подписей на базе схемы LMS (Leighton-Micali Signatures), использующей хэш-функции и древовидное хэширование в форме дерева Меркла (Merkle Tree, каждая ветка верифицирует все нижележащие ветки и узлы). Цифровые подписи LMS устойчивых к подбору на квантовом компьютере и разработаны для заверения целостности прошивок и приложений.
  • Добавлена поддержка категорий безопасности NIST для параметров объектов PKEY (открытые и закрытые ключи). Выставление категории безопасности осуществляется через настройку "security-category". Для проверки уровня безопасности добавлена функция EVP_PKEY_get_security_category(). Уровень безопасности отражает стойкость к подбору на квантовых компьютерах и может принимать целые значения от 0 до 5:
    • 0 - реализация, не стойкая ко взлому на квантовых компьютерах;
    • 1/3/5 - реализация не исключает поиск на квантовом компьютере ключа в блочном шифре со 128/192/256-битным ключом;
    • 2/4 - реализация не исключает поиск на квантовом компьютере коллизии в 256/384-битном хэше).
  • Добавлена команда "openssl configutl" для обработки файла конфигурации. Утилита позволяет на основе многофайловой конфигурации с include-включениями сформировать сводный файл со всеми настройками.
  • В криптопровайдер FIPS добавлена поддержка детерминированного формирования цифровых подписей ECDSA (при одних и тех же входных данных генерируется одна и та же подпись), в соответствии с требованиями стандарта FIPS 186-5.
  • Повышены требования к сборочному окружению. Для сборки OpenSSL теперь недостаточно инструментария с поддержкой ANSI-C и требуется компилятор, совместимый со стандартом C-99.
  • Объявлены устаревшими функции, связанные со структурой EVP_PKEY_ASN1_METHOD.
  • Прекращена поддержка платформы VxWorks.

Исправленные уязвимости:

  • CVE-2025-9230 - уязвимость в коде дешифровки CMS-сообщений, зашифрованных с использованием пароля (PWRI). Уязвимость может привести к записи и чтению данных вне выделенного буфера, что позволяет инициировать аварийное завершение или повреждение памяти в приложении, использующем OpenSSL для обработки CMS-сообщений. Не исключается эксплуатация уязвимости для организации выполнения своего кода, но опасность проблемы снижает то, что шифрование CMS-сообщений с использованием пароля на практике применяется крайне редко. Кроме версии OpenSSL 3.6.0 уязвимость устранена в выпусках OpenSSL 3.5.4, 3.4.3, 3.3.5, 3.2.6 и 3.0.18. Проблема также исправлена в обновлениях библиотеки LibreSSL 4.0.1 и 4.1.1, развиваемой проектом OpenBSD.
  • CVE-2025-9231 - реализация алгоритма SM2 подвержена атаке по сторонним каналам, позволяющей на системах с 64-разрядными CPU ARM воссоздать закрытый ключ, анализируя изменение времени выполнения отдельных вычислений. Потенциально атака может быть проведена удалённо. Опасность атаки снижает то, что OpenSSL напрямую не поддерживает использование сертификатов с ключами SM2 в TLS.
  • CVE-2025-9232 - уязвимость в реализации встроенного HTTP-клиента, приводящая к чтению данных из области вне буфера при обработке в функциях HTTP Client специально оформленного URL. Проблема проявляется только при выставленной переменной окружения "no_proxy" и может привести к аварийному завершению приложения.


  1. Главная ссылка к новости (https://openssl-library.org/po...)
  2. OpenNews: Выпуск криптографической библиотеки OpenSSL 3.5.0
  3. OpenNews: Выпуск криптографических библиотек OpenSSL 3.4, LibreSSL 4.0, Botan 3.6 и Rustls 0.23.15
  4. OpenNews: Выпуск криптографической библиотеки Libgcrypt 1.11.0
  5. OpenNews: Выпуск криптографической библиотеки Botan 3.1.0
  6. OpenNews: Amazon опубликовал открытую криптографическую библиотеку для языка Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63979-openssl
Ключевые слова: openssl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (9) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (2), 10:52, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Уязвимость может привести к записи и чтению данных вне выделенного буфера
    > уязвимость в реализации встроенного HTTP-клиента, приводящая к чтению данных из области вне буфера

    Странно. Местные эксперты говорили, что если обложить все статическими анализаторами и валгриндами, то на C и C++ можно писать абсолютно безопасный по памяти код. 🤔 Что-то пошло не так?

     
     
  • 2.11, Аноним (11), 12:34, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Никто не обкладывал.
     
  • 2.12, Аноним (11), 12:35, 02/10/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.3, Аноним (3), 11:23, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Заголовок из разряда кликбейт. Формально то оно так, но ничего вроде бы опасного для широких масс населения.
     
  • 1.5, Аноним (-), 11:30, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    kek_unwrap_key(): Fix incorrect check of unwrapped key size
    - if (inlen < (size_t)(tmp[0] - 4)) {
    + if (inlen < 4 + (size_t)tmp[0]) {

    Прям топ-кек))
    ЛуДшие погромисты опять не смогли правильно посчитать разрамер буфера! Никогда такого не было и вот опять))

    А ведь openssl обмазана санитайзерами по самое немогу.
    И что? Помогли вам эти санитайзеры?))

     
     
  • 2.9, Аноним (9), 11:50, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ты же не думаешь, что это случайно.
     
  • 2.14, Аноним (14), 13:12, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сама по себе эта конструкция уже хороша:

    (size_t)(tmp[0] - 4))

    Но это в той части, которой никто не пользуется и компиляцию которой вырубают.

     

  • 1.10, Аноним (10), 12:01, 02/10/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >  в реализации встроенного HTTP-клиента

    зачем HTTP клиент-то встраивать?

     
     
  • 2.13, oauth отстой (?), 13:11, 02/10/2025 [^] [^^] [^^^] [ответить]  
  • +/
    может для oauth какого-нибудь. это yблюдство сейчас много куда пихают.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру