CVE-2026-33307

HIGH CVSS 3.1: 7,5
Обновлено 24 марта 2026
Apache
Параметр Значение
CVSS 7,5 (HIGH)
Уязвимые версии до 0.12.3
Устранено в версии 0.12.3
Тип уязвимости CWE-121 (Переполнение буфера в стеке)
Поставщик Apache
Публичный эксплойт Нет

Mod_gnutls — это модуль TLS для Apache HTTPD, основанный на GnuTLS. В версиях до 0.12.3 и 0.13.0 код проверки сертификата клиента импортировал цепочку сертификатов, отправленную клиентом, в массив фиксированного размера `gnutls_x509_crt_t x509[]` без проверки того, что количество сертификатов меньше или равно размеру массива. `gnutls_x509_crt_t` — это `typedef` для указателя на непрозрачную структуру GnuTLS, созданную с использованием `gnutls_x509_crt_init()` перед импортом в нее данных сертификата, поэтому никакие данные, контролируемые злоумышленником, не записывались в буфер стека, но запись указателя после последнего элемента массива обычно приводила к сбою сегмента и теоретически могла вызвать повреждение стека в противном случае (на практике не наблюдается). Конфигурации сервера, которые не используют клиентские сертификаты («GnuTLSClientVerify ignore», значение по умолчанию), не затрагиваются.

Проблема была исправлена ​​в версии 0.12.3 путем проверки длины предоставленной цепочки сертификатов и ее отклонения, если она превышает длину буфера, а в версии 0.13.0 путем переписывания проверки сертификата на использование gnutls_certificate_verify_peers(), полностью устраняя необходимость в буфере. Обходного пути нет. Версия 0.12.3 предоставляет минимальное исправление для пользователей 0.12.x, которые пока не хотят обновляться до 0.13.0.

Показать оригинальное описание (EN)

Mod_gnutls is a TLS module for Apache HTTPD based on GnuTLS. In versions prior to 0.12.3 and 0.13.0, code for client certificate verification imported the certificate chain sent by the client into a fixed size `gnutls_x509_crt_t x509[]` array without checking the number of certificates is less than or equal to the array size. `gnutls_x509_crt_t` is a `typedef` for a pointer to an opaque GnuTLS structure created using with `gnutls_x509_crt_init()` before importing certificate data into it, so no attacker-controlled data was written into the stack buffer, but writing a pointer after the last array element generally triggered a segfault, and could theoretically cause stack corruption otherwise (not observed in practice). Server configurations that do not use client certificates (`GnuTLSClientVerify ignore`, the default) are not affected. The problem has been fixed in version 0.12.3 by checking the length of the provided certificate chain and rejecting it if it exceeds the buffer length, and in version 0.13.0 by rewriting certificate verification to use `gnutls_certificate_verify_peers()`, removing the need for the buffer entirely. There is no workaround. Version 0.12.3 provides the minimal fix for users of 0.12.x who do not wish to upgrade to 0.13.0 yet.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Уязвимые продукты 1

Конфигурация От (включительно) До (исключительно)
Mod_Gnutls_Project Mod_Gnutls
cpe:2.3:a:mod_gnutls_project:mod_gnutls:*:*:*:*:*:*:*:*
0.12.3