Double-free уязвимость в mod_http2 Apache HTTP Server позволяет добиться удалённого выполнения кода

Фото автора

CyberSecureFox Editorial Team

Apache Software Foundation выпустила обновление безопасности для Apache HTTP Server, устраняющее критическую уязвимость CVE-2026-23918 (CVSS 8.8) — ошибку типа double-free в модуле mod_http2, которая позволяет злоумышленнику вызвать отказ в обслуживании и, при определённых условиях, добиться удалённого выполнения кода. Затронута версия 2.4.66; исправление доступно в версии 2.4.67. Учитывая, что mod_http2 включён в стандартные сборки Apache и HTTP/2 широко используется в продуктивных средах, поверхность атаки потенциально очень велика.

Техническая суть уязвимости

Согласно записи в NVD, CVE-2026-23918 представляет собой уязвимость double-free в обработке протокола HTTP/2. По данным исследователей, обнаруживших проблему, ошибка локализована в пути очистки потоков в файле h2_mplx.c.

Как сообщается, механизм срабатывания следующий: клиент отправляет HTTP/2-кадр HEADERS, за которым немедленно следует RST_STREAM с ненулевым кодом ошибки на том же потоке — до того, как мультиплексор успевает зарегистрировать поток. В результате два обратных вызова nghttp2 (on_frame_recv_cb и on_stream_close_cb) последовательно вызывают одну и ту же функцию очистки, помещая один и тот же указатель h2_stream в массив очистки дважды. При последующей итерации по массиву второй вызов apr_pool_destroy обращается к уже освобождённой памяти.

Два сценария эксплуатации

Исследователи описывают два варианта воздействия:

  • Отказ в обслуживании (DoS) — по данным исследователей, реализуется тривиально: достаточно одного TCP-соединения и двух кадров, без аутентификации и специальных заголовков. Рабочий процесс Apache аварийно завершается; хотя сервер перезапускает его, все запросы, обрабатывавшиеся этим процессом, теряются. Атаку можно поддерживать непрерывно. Предположительно, этот вектор работает на любом стандартном развёртывании с mod_http2 и многопоточной моделью MPM.
  • Удалённое выполнение кода (RCE) — как сообщается, исследователи создали работающий proof-of-concept на архитектуре x86_64. Цепочка эксплуатации предположительно использует повторное выделение памяти через mmap для размещения поддельной структуры h2_stream по освобождённому виртуальному адресу, перенаправляя указатель функции очистки пула на system(). В качестве стабильного контейнера для поддельных структур и строки команды, по данным исследователей, используется память scoreboard Apache, которая располагается по фиксированному адресу на протяжении всего времени работы сервера даже при включённом ASLR.

Важная оговорка: детали цепочки RCE-эксплуатации основаны на заявлениях исследователей и не подтверждены независимо через официальный бюллетень Apache. Исследователи сами указывают, что практическая эксплуатация RCE требует утечки информации для определения адресов system() и смещений scoreboard, а техника heap spray носит вероятностный характер. Тем не менее, по их утверждению, в лабораторных условиях выполнение кода достигается за минуты.

Затронутые конфигурации и масштаб

Уязвимость затрагивает Apache HTTP Server 2.4.66 с включённым модулем mod_http2. По данным исследователей, путь RCE-эксплуатации требует Apache Portable Runtime (APR) с аллокатором mmap, который предположительно используется по умолчанию в системах на базе Debian и в официальном Docker-образе httpd.

Как сообщается, модель MPM prefork не подвержена данной уязвимости, однако многопоточные модели MPM (event, worker), которые являются стандартными для современных развёртываний, находятся в зоне риска.

На момент публикации CVE-2026-23918 не внесена в каталог CISA KEV, и нет подтверждённых данных об активной эксплуатации в дикой природе. Статус эксплуатации — неизвестен.

Оценка воздействия

Apache HTTP Server остаётся одним из наиболее распространённых веб-серверов в мире. Сочетание нескольких факторов делает эту уязвимость особенно значимой:

  • Модуль mod_http2 включён в стандартные сборки Apache
  • HTTP/2 активно используется в продуктивных средах
  • DoS-вектор не требует аутентификации и реализуется минимальным количеством сетевых пакетов
  • CVSS-оценка 8.8 указывает на высокую критичность

Наибольшему риску подвержены организации, использующие Apache HTTP Server 2.4.66 с HTTP/2 в публично доступных сервисах — веб-хостинг, CDN-узлы, обратные прокси-серверы и API-шлюзы.

Рекомендации по устранению

  1. Обновите Apache HTTP Server до версии 2.4.67 — это основная мера устранения уязвимости.
  2. Если немедленное обновление невозможно, рассмотрите временное отключение mod_http2 путём комментирования директивы LoadModule http2_module в конфигурации сервера. Это устранит вектор атаки ценой отказа от HTTP/2.
  3. Проверьте используемую модель MPM: команда apachectl -V | grep MPM покажет текущую конфигурацию. По данным исследователей, prefork не подвержен уязвимости, однако это не подтверждено официальным бюллетенем вендора.
  4. Мониторинг: отслеживайте аномальные завершения рабочих процессов Apache и всплески HTTP/2-соединений с немедленным сбросом потоков — это может указывать на попытки эксплуатации DoS-вектора.

Учитывая оценку CVSS 8.8 и тривиальность DoS-эксплуатации, обновление до Apache HTTP Server 2.4.67 следует выполнить в приоритетном порядке. Организациям, эксплуатирующим публично доступные экземпляры Apache с HTTP/2, рекомендуется провести обновление в ближайшие дни, не дожидаясь появления подтверждённых случаев эксплуатации в дикой природе. Подробности об уязвимости доступны в записи NVD для CVE-2026-23918.


CyberSecureFox Editorial Team

Редакция CyberSecureFox освещает новости кибербезопасности, уязвимости, malware-кампании, ransomware-активность, AI security, cloud security и security advisories вендоров. Материалы готовятся на основе official advisories, данных CVE/NVD, уведомлений CISA, публикаций вендоров и открытых отчётов исследователей. Статьи проверяются перед публикацией и обновляются при появлении новых данных.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.