pssec-io/CVE-2026-34197
GitHub: pssec-io/CVE-2026-34197
该项目提供了一个基于 Docker 的隔离实验环境,用于复现和验证 Apache ActiveMQ Classic CVE-2026-34197 漏洞的攻击行为与修复效果。
Stars: 0 | Forks: 0
# CVE-2026-34197 ActiveMQ Classic 实验环境
本仓库包含一个本地实验环境,用于研究 Apache ActiveMQ Classic 中的 **CVE-2026-34197** 漏洞,并用于对比易受攻击的实例与已修复的构建版本。
本仓库的组织结构旨在支持两个目标:
- 在严格受控的隔离环境中复现该问题。
- 使用已修复的 ActiveMQ Classic 构建版本来验证修复行为。
## 免责声明
本仓库**严格仅用于合法、经授权的防御性安全研究**,且仅在您拥有或获得明确许可进行测试的隔离实验环境中使用。
使用本仓库中的任何材料,即表示您同意:
- 您不会将其用于针对第三方系统、公共目标、客户环境、共享基础设施,或任何未经明确书面授权的系统。
- 您不会将其用于未经授权的访问、持久化、破坏、横向移动、数据访问,或任何违反法律、政策、合同或可接受使用要求的活动。
- 您理解,如果处理不当,安全概念验证研究可能会导致服务中断、进程崩溃、数据损坏、容器被入侵、获取 shell 访问权限以及意外的传播。
- 您需对遵守所有适用的法律、法规、合同和内部政策负全部责任。
- 您将仅在具备适当网络隔离、监控和回滚能力的一次性实验系统中运行此项目。
本仓库**不**适用于攻击性操作。其仅用于验证、教育、检测工程、补丁验证和受控演示。
如果您不确定是否获得授权运行此材料,**请勿运行**。
## 范围
本实验环境侧重于围绕 CVE-2026-34197 的 Apache ActiveMQ Classic 行为:
- 基于 `apache/activemq-classic:5.19.2` 的易受攻击容器
- 基于 ActiveMQ Classic `5.19.4` 本地构建的已修复容器
- 用于实验验证的简单 XML payload 文件
- 用于验证预期的易受攻击行为与已修复行为的说明
## 仓库结构
```
.
├── activemq-patched
│ ├── docker-compose.yml
│ ├── Dockerfile
│ ├── instructions.txt
│ └── poc.xml
├── docker-compose.yml
├── instructions.txt
└── poc.xml
```
## 易受攻击的实验环境
本仓库的根目录包含易受攻击的实验环境:
- `docker-compose.yml` 启动一个 ActiveMQ Classic `5.19.2` 容器,并在 localhost 上暴露 Web 控制台和 Jolokia。
- `instructions.txt` 包含用于验证易受攻击行为的本地实验工作流。
- `poc.xml` 是实验中使用的 XML payload 模板。
易受攻击的 compose 文件中通常暴露的端口:
- `8161` - Web 控制台 / Jolokia
- `61616` - OpenWire
- `61613` - STOMP
- `1883` - MQTT
- `5672` - AMQP
启动易受攻击的实验环境:
```
docker compose up -d
```
## 已修复的实验环境
`activemq-patched/` 目录包含一个已修复的对比环境:
- 基于 ActiveMQ Classic `5.19.4` 的本地 Docker 构建
- 一个 Dockerfile,用于更新 Jetty 绑定,以便可以从主机访问 Web 控制台
- 一个单独的 compose 文件,在不同的 localhost 端口上发布已修复的 broker
已修复的 compose 文件中通常暴露的端口:
- `8261` - Web 控制台 / Jolokia
- `62616` - OpenWire
### 构建已修复的镜像
下载归档的 5.19.4 发布压缩包:
```
cd activemq-patched
wget https://archive.apache.org/dist/activemq/5.19.4/apache-activemq-5.19.4-bin.tar.gz
```
构建本地镜像:
```
docker build \
-t pssec/activemq-classic:5.19.4 \
--build-arg ACTIVEMQ_VERSION=5.19.4 \
-f Dockerfile .
```
启动已修复的实验环境:
```
docker compose up -d
```
## 验证指南
请使用提供的 `instructions.txt` 文件了解实验流程。
预期的高层级结果:
- 易受攻击的环境应允许在实验工作流中使用不安全的 connector 路径。
- 已修复的环境应拒绝不安全的基于 VM 的 scheme,并返回类似于 `VM scheme is not allowed` 的错误。
### 推荐的非破坏性验证
在真实的内部测试中,优先选择**安全、可观察、非破坏性的命令**,而不是任何侵入性操作。
一个简单的示例是创建一个临时文件,例如:
```
touch /tmp/pssec_validation_marker
```
然后从主机验证结果:
```
docker exec -it cve-2026-34197-activemq ls -l /tmp/pssec_validation_marker
```
对于已修复的环境,当修复按预期工作时,等效的验证应该无法创建该文件。
这比使用交互式 payload 更安全,并且通常足以证明:
- 易受攻击的路径是否仍然可达,或者
- 已修复的 broker 是否阻止了危险的 connector 行为。
## 注意事项
- 尽可能将实验环境绑定到 `127.0.0.1`。
- 使用一次性容器和隔离的网络。
- 在测试运行之间重置或重建容器。
- 作为验证的一部分,检查容器日志和 Jolokia 响应。
- 在内部验证期间,优先使用基于文件的非破坏性检查,而不是交互式 shell。
## 商务合作
PSsec: https://pssec.io
标签:Apache ActiveMQ, CISA项目, PoC, 暴力破解, 漏洞复现, 漏洞验证环境, 版权保护, 请求拦截