
Эксплойт Proof-of-Concept для CVE-2026-23918 (двойное освобождение памяти в Apache mod_http2). Включает многорежимный DoS (Rapid-RST, Slow-Drip) и пассивное обнаружение RCE/уязвимостей для Apache 2.4.66.
Это proof-of-concept эксплойт для уязвимости double-free в mod_http2 от Apache (CVE-2026-23918). Это неприятный баг, затрагивающий путь очистки потока в h2_mplx.c.
Если вкратце, при правильном расчёте времени можно заставить сервер попытаться очистить один и тот же поток дважды, что обычно приводит к SIGSEGV и падению воркера.

Не будьте глупы. Используйте это только для авторизованного тестирования. Если вы используете это на том, что вам не принадлежит, вы действуете на свой страх и риск. Я не несу ответственности за то, что вы сделаете с этим.
CVE-2026-23918 затрагивает Apache 2.4.66. Патч был выпущен в версии 2.4.67 ранее в этом месяце (май 2026).
Это состояние гонки в том, как Apache обрабатывает ранние кадры RST_STREAM. Если клиент отправляет кадр HEADERS и сразу же за ним RST_STREAM до того, как мультиплексор даже зарегистрирует поток, два разных колбэка пытаются выполнить очистку.
Один колбэк обрабатывает сброс, другой — закрытие потока. Оба вызывают m_stream_cleanup(), который помещает один и тот же указатель в массив очистки. Когда Apache в конечном итоге пытается уничтожить эти потоки, вторая попытка обращается к уже освобождённой памяти.
DoS: Чрезвычайно просто. Одно соединение может обрушить воркеры. Поскольку Apache перезапускает их, вы можете держать сервер под постоянным давлением, используя очень мало трафика. Именно это демонстрирует данный PoC — он был протестирован и подтверждённо работает на Apache 2.4.66.
RCE: Теоретически возможно, но непрактично для большинства атакующих. Для этого требуется:
mmap, по умолчанию на Debian/Ubuntu/Docker)Публичного RCE-эксплойта не существует, и его создание — нетривиальная инженерная задача. Реальное влияние для большинства организаций — это надёжный DoS, а не RCE.

Вам понадобится Python 3.9+ и библиотека h2.
git clone https://github.com/xeloxa/CVE-2026-23918-Apache-H2-PoC.git
cd CVE-2026-23918-Apache-H2-PoC
pip install -r requirements.txt
Обрушение локальной лаборатории:
# Агрессивный DoS
python3 cve-2026-23918.py --target 127.0.0.1 --port 8443 --mode dos
Проверка, может ли цель быть уязвимой:
# Это пассивный режим, он просто проверяет заголовки и поддержку H2
python3 cve-2026-23918.py --target example.com --mode rce-detect
Постоянное давление:
# Низкая пропускная способность, длительная продолжительность
python3 cve-2026-23918.py --target 10.0.0.50 --mode slow-drip -d 60
Если у вас версия 2.4.66, вам нужно перейти на 2.4.67.
Если вы не можете обновиться прямо сейчас, вы можете отключить HTTP/2, добавив Protocols http/1.1 в вашу конфигурацию (или просто удалив h2 из списка). Это не идеально для производительности, но останавливает падения.
Я протестировал это на нескольких различных сборках Debian и Ubuntu. DoS очень надёжен. RCE гораздо более «капризен», и я бы не рассчитывал на него в реальном сценарии, если только цель не имеет очень предсказуемого состояния кучи.