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-шлюзы.
Рекомендации по устранению
- Обновите Apache HTTP Server до версии 2.4.67 — это основная мера устранения уязвимости.
- Если немедленное обновление невозможно, рассмотрите временное отключение mod_http2 путём комментирования директивы
LoadModule http2_moduleв конфигурации сервера. Это устранит вектор атаки ценой отказа от HTTP/2. - Проверьте используемую модель MPM: команда
apachectl -V | grep MPMпокажет текущую конфигурацию. По данным исследователей, prefork не подвержен уязвимости, однако это не подтверждено официальным бюллетенем вендора. - Мониторинг: отслеживайте аномальные завершения рабочих процессов Apache и всплески HTTP/2-соединений с немедленным сбросом потоков — это может указывать на попытки эксплуатации DoS-вектора.
Учитывая оценку CVSS 8.8 и тривиальность DoS-эксплуатации, обновление до Apache HTTP Server 2.4.67 следует выполнить в приоритетном порядке. Организациям, эксплуатирующим публично доступные экземпляры Apache с HTTP/2, рекомендуется провести обновление в ближайшие дни, не дожидаясь появления подтверждённых случаев эксплуатации в дикой природе. Подробности об уязвимости доступны в записи NVD для CVE-2026-23918.