CVE-2025-69419
Выход за границы буфера при записи в функции PKCS12_get_friendlyname() при преобразовании UTF-8
- Опубликовано
- 27 янв. 2026 г.
- Обновлено
- 12 мая 2026 г.
- Назначение CNA
- openssl
- Наблюдены доказательства
- 28 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:NНизкий · следующие 30 дней
- Процентиль
- 46,0 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
Сводка проблемы: вызов функции PKCS12_get_friendlyname() для специально созданного файла PKCS#12 с BMPString (UTF-16BE) friendly name, содержащим не-ASCII BMP кодовую точку, может вызвать запись одного байта перед выделенным буфером. Сводка воздействия: запись за пределами границ может вызвать повреждение памяти, которое может иметь различные последствия, включая отказ в обслуживании. Функция OPENSSL_uni2utf8() выполняет двухпроходное преобразование PKCS#12 BMPString (UTF-16BE) в UTF-8. На втором проходе, при выводе байтов UTF-8, вспомогательная функция bmp_to_utf8() некорректно передаёт оставшееся количество исходных байтов UTF-16 как ёмкость буфера назначения в UTF8_putc(). Для BMP кодовых точек выше U+07FF UTF-8 требует три байта, но переданная ёмкость может составлять всего два байта. Затем UTF8_putc() возвращает -1, и это отрицательное значение добавляется к длине выходных данных без проверки, из-за чего длина становится отрицательной. Последующий завершающий NUL-байт затем записывается по отрицательному смещению, что вызывает запись за пределами буфера, выделенного в куче. Уязвимость доступна через публичный API PKCS12_get_friendlyname() при разборе управляемых атакующим файлов PKCS#12. Хотя PKCS12_parse() использует другой путь выполнения кода, который позволяет избежать этой проблемы, PKCS12_get_friendlyname() напрямую вызывает уязвимую функцию. Для эксплуатации требуется, чтобы атакующий предоставил вредоносный файл PKCS#12 для разбора приложением, и атакующий может просто вызвать запись одного нулевого байта перед выделенным буфером. По этой причине проблема была оценена как низкая по степени серьёзности в соответствии с нашей политикой безопасности. Модули FIPS в версиях 3.6, 3.5, 3.4, 3.3 и 3.0 не затронуты этой проблемой, поскольку реализация PKCS#12 находится за пределами границы модуля FIPS OpenSSL. OpenSSL 3.6, 3.5, 3.4, 3.3, 3.0 и 1.1.1 уязвимы к этой проблеме. OpenSSL 1.0.2 не затронут этой проблемой.
Источники
1Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.