Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Detections-CVE-2026-23918 — Правила обнаружения для CVE-2026-23918 Apache http2 RCE - Источник: stringa.ai, isec.pl | Kitploit
Инструменты/GitHubGitHub/insomnisec/detections-cve-2026-23918
Управление индикаторами компрометации (IOC)Анализ уязвимостейЭксплуатацияОбход IDS/IPSВеб-безопасностьСетевая безопасностьРазведка угрозОбнаружение ВторженийРеагирование на Инциденты

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Archived
GitHubinsomnisec/detections-cve-2026-23918

Detections-CVE-2026-23918

Правила обнаружения для CVE-2026-23918 Apache http2 RCE - Источник: stringa.ai, isec.pl

Репозиторий
204 месяцев назадЕщё не проверено
Поделиться

MOVING TO: https://github.com/insomnisec/public_cve_detections

FOR BETTER LONG TERM MANAGEMENT OF DETECTION PUBLICATIONS

THIS REPO WILL BE REMOVED IN JUNE 2026

PLEASE USE THE OTHER REPO GOING FORWARD

CVE-2026-23918 «Apache HTTP/2 Double-Free» — пакет обнаружения и реагирования

Опубликовано: 2026-05-04
CVSSv3: 8.8 (High)
Тип: Удаленное выполнение кода / Отказ в обслуживании (Double-Free повреждение памяти)
Компонент: Apache HTTP Server mod_http2 (путь очистки потоков h2_mplx.c)
Подвержены: Apache HTTP Server 2.4.66 с включенным HTTP/2 и многопоточным MPM
Ссылки:

  • Рекомендации по безопасности Apache HTTP Server
  • Раскрытие oss-security
  • Технический анализ от Hadrian
  • Освещение insomnisec

Содержание

  1. Краткое описание уязвимости
  2. Как работает эксплойт
  3. Архитектура обнаружения — чем этот пакет отличается от пакетов для LPE
  4. Ограничения обнаружения
  5. Немедленное смягчение
  6. Правила Suricata
  7. Конфигурация ModSecurity / Coraza
  8. Правила Auditd
  9. Правила Wazuh
  10. Правила YARA
  11. Шаблон события MISP
  12. Патчи и исправление
  13. Основные IoC для справки

Краткое описание уязвимости

CVE-2026-23918 — это уязвимость двойного освобождения памяти (double-free) в реализации протокола HTTP/2 в Apache HTTP Server версии 2.4.66, затрагивающая только путь очистки потоков модуля mod_http2 в h2_mplx.c. Она позволяет неаутентифицированному удаленному злоумышленнику вызвать аварийное завершение рабочих процессов Apache (отказ в обслуживании) с помощью одного TCP-соединения и двух HTTP/2-фреймов. В условиях, присутствующих в системах на базе Debian и официальных Docker-образах Apache, двойное освобождение можно превратить в полноценное удаленное выполнение кода.

Эксплуатация для DoS подтверждена в реальных атаках. Наблюдаются масштабные интернет-сканирования, нацеленные на HTTP/2-конечные точки. Эксплойт для RCE доказал свою жизнеспособность в контролируемых средах, хотя на данный момент нет свидетельств широкой публичной эксплуатации для RCE.

MPM prefork не подвержен — уязвимость требует многопоточной конфигурации MPM (worker, event или аналогичной). CVE-2026-23918 затрагивает только Apache HTTP Server версии 2.4.66.


Как работает эксплойт```

Attacker opens HTTP/2 connection to Apache 2.4.66 (mod_http2 loaded, multi-threaded MPM) └─ Sends HTTP/2 HEADERS frame on stream N (opens the stream) └─ Immediately sends RST_STREAM on stream N (non-zero error code) └─ Sent BEFORE the multiplexer has registered the stream

Two nghttp2 callbacks fire in sequence: ├─ on_frame_recv_cb (RST received) → calls h2_mplx_c1_client_rst → m_stream_cleanup └─ on_stream_close_cb (stream closed) → calls h2_mplx_c1_client_rst → m_stream_cleanup

Result: same h2_stream pointer pushed onto spurge[] cleanup array TWICE

c1_purge_streams() iterates spurge[] and calls h2_stream_destroy() on each entry: ├─ First call: valid — frees the stream └─ Second call: DOUBLE-FREE — operates on already-freed memory → heap corruption

DoS path (trivial, in the wild): └─ Heap corruption → SIGABRT in worker process → worker dies → service disruption

RCE path (requires mmap allocator — default on Debian/Ubuntu and official Docker): └─ Attacker places fake h2_stream struct at freed virtual address via mmap reuse └─ Points pool cleanup function pointer to system() └─ Uses Apache scoreboard shared memory (fixed address, ASLR-resistant) as payload container └─ c1_purge_streams() executes system() with attacker-controlled argument → RCE

> **Ключевая асимметрия:** Путь DoS не требует навыков работы с кучей и активно эксплуатируется. Путь RCE технически сложен, но был продемонстрирован в лабораторных условиях и почти наверняка будет превращён в оружие в ближайшем будущем, учитывая фиксированный адрес scoreboard, устойчивый к ASLR.

---

## Архитектура обнаружения

> В этом разделе объясняется, почему инструментарий для обнаружения здесь существенно отличается от типичного пакета для локального повышения привилегий.

Copy Fail (CVE-2026-31431) была **хостовой уязвимостью, доступной после атаки**. Злоумышленнику требовалось уже присутствовать в системе. Обнаружение в основном происходило на уровне системных вызовов (auditd, Wazuh) с YARA-сканированием PoC-скрипта на диске.

CVE-2026-23918 — это **сетевая уязвимость, доступная до атаки**. Эксплойт поступает в виде фреймов протокола HTTP/2 по сети до того, как выполняется какой-либо прикладной код. Это существенно меняет стек обнаружения:

| Layer | Copy Fail (LPE) | CVE-2026-23918 (RCE) |
|---|---|---|
| **Первичное обнаружение** | Правила auditd для системных вызовов | Сетевые правила Suricata |
| **WAF (ModSecurity)** | Ограниченно — не видит эксплойт | Актуально — аномалии + пост-эксплойт |
| **Auditd** | Основное обнаружение | Обнаружение последствий (сбои, пост-эксплойт) |
| **YARA** | Сканирует PoC-скрипт | Сканирует веб-шеллы (артефакты пост-эксплойта) |
| **Сетевые IDS** | Не применимо | Основной слой обнаружения |
| **TLS-инспекция** | Н/П | Требуется для полного покрытия Suricata |

Эмпирическое правило: для RCE на сетевом уровне работайте снаружи внутрь (сеть → WAF → хост). Для локального повышения привилегий — от хоста наружу.

---

## Ограничения обнаружения

> **Прочитайте это перед развёртыванием любых правил.**

**1. TLS прекращает видимость HTTP/2.**
Большинство промышленных развёртываний Apache используют HTTPS. Suricata не может проверять содержимое зашифрованных фреймов HTTP/2 без настроенной дешифрации TLS. Если ваше развёртывание Suricata не имеет доступа к ключам сессии TLS или зеркалу дешифрации, приведённые ниже правила сетевого уровня будут перехватывать только:
- HTTP/2 в открытом виде (h2c) — редко встречается в продакшне, но присутствует во внутренних средах;
- Сетевую сигнатуру поведения TCP-соединения (количество соединений, шаблоны RST на уровне TCP).

Для развёртываний HTTPS включите дешифрацию TLS в Suricata через настройку `tls-decrypt` и журналирование ключей сессии, либо полагайтесь вместо этого на WAF (ModSecurity/Coraza) и хостовые слои (auditd/Wazuh).

**2. ModSecurity не может заблокировать триггер эксплойта.**
Double-free происходит внутри парсера фреймов HTTP/2, до того как полный HTTP-запрос будет собран и передан ModSecurity. WAF видит запрос только после завершения парсинга фреймов — к этому моменту повреждение уже может произойти. ModSecurity в этом пакете используется для обнаружения аномалий, ограничения скорости и детектирования пост-эксплуатации, а не как блокиратор триггера.

**3. MPM prefork не подвержен уязвимости.**
Если ваше развёртывание Apache использует `mpm_prefork_module` (однопоточный), эта уязвимость не применяется. Ошибка проявляется только в многопоточных MPM (`mpm_event_module` или `mpm_worker_module`). Проверьте с помощью `apachectl -V | grep MPM` перед развёртыванием правил, которые могут давать ложные срабатывания на серверах с prefork.

**4. RCE требует аллокатора mmap.**
Путь RCE (не путь DoS) требует mmap-аллокатора APR, который используется по умолчанию в дистрибутивах на основе Debian и официальных Docker-образах Apache. Развёртывания на RHEL/CentOS, использующие jemalloc или системный malloc, имеют сниженный риск RCE, но всё ещё полностью уязвимы к DoS.
Скачать инструмент