• Все разделы
  • Статьи
  • Медиа
  • Новости
  • Нормативные материалы
  • Конференции
  • Глоссарий

Использование после освобождения

Главная Специалистам База уязвимостей Использование после освобождения

Карточка уязвимости

Характеристики уязвимости

Уровень опасности
Оценка CVSS
Производитель ПО
Наименование ПО
OpenSSL (1.0.2, 1.0.2zg, 1.1.1, 1.1.1t, 3.0.0, 3.0.8)
Описание
Функция публичного API BIO_new_NDEF является вспомогательной и используется для потоковой передачи данных ASN.1 через BIO. В основном она используется в OpenSSL для обеспечения потоковой передачи SMIME, CMS и PKCS7, но может также вызываться напрямую приложениями. Функция получает данные BIO от вызывающего компонента, добавляет в начало новые данные фильтра BIO_f_asn1 для формирования цепочки BIO, а затем возвращает вызывающему компоненту. При определенных условиях (например, если открытый ключ получателя CMS является недействительным) новые данные фильтра BIO освобождаются и функция возвращает пустой результат, означающий ошибку. В этом случае цепочка BIO некорректно очищается и данные BIO, переданные вызывающим компонентом, сохраняют внутренние указатели на освобожденные ранее данные фильтра BIO. Если вызывающий компонент затем вызывает BIO_pop() для BIO, то имеет место использование после освобождения, которое приводит к аварийному завершению работы. Подобное происходит во внутренней функции B64_write_ASN1(), которая может привести к вызову BIO_new_NDEF() и последующему вызову BIO_pop() для BIO. Эта внутренняя функция в свою очередь вызывается функциями публичного API PEM_write_bio_ASN1_stream, PEM_write_bio_CMS_stream, PEM_write_bio_PKCS7_stream, SMIME_write_ASN1, SMIME_write_CMS и SMIME_write_PKCS7. Также могут быть уязвимы другие функции, например i2d_ASN1_bio_stream, BIO_new_CMS, BIO_new_PKCS7, i2d_CMS_bio_stream и i2d_PKCS7_bio_stream. Уязвимыми являются также приложения командной строки OpenSSL cms и smime.
Как исправить
Для устранения уязвимости необходимо установить последнюю версию продукта, соответствующую используемой платформе. Необходимую информацию можно получить по адресу:
https://www.openssl.org/
Ссылки
Источник: CVE
Наименование: CVE-2023-0215
URL: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-0215