Apache Camel远程代码执行漏洞:CVE-2025-27636案例敏感头过滤绕过分析

本文详细解析Apache Camel CVE-2025-27636漏洞,该漏洞由于HTTP头部大小写过滤不严导致远程代码执行。涵盖影响版本、技术原理、利用方式及修复方案,帮助开发者及时防护。

CVE-2025-27636 – Apache Camel远程代码执行漏洞:案例敏感头部过滤绕过

概述

CVE-2025-27636是Apache Camel exec组件中的一个关键远程代码执行漏洞。该漏洞的产生原因是Camel的安全过滤器仅检查小写形式的敏感HTTP头部,未能阻止混合或大写形式的相同头部提交。攻击者可利用此疏忽通过HTTP请求执行任意系统命令。

CVE ID: CVE-2025-27636
严重性: 中等
CVSS 分数: 5.6 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L)
EPSS 分数: 35.5%
发布日期: 2025年3月19日

受影响版本:

  • 4.10.0 – 4.10.1
  • 4.8.0 – 4.8.4
  • 3.10.0 – 3.22.3

已修复版本: 4.10.2, 4.8.5, 3.22.4
需要认证: 取决于部署方式
影响: 远程代码执行

Apache Camel在以上版本中通过将头部名称规范化为小写后再进行过滤来修复此问题。

技术分析

Apache Camel支持命令中心功能,允许通过HTTP端点执行操作系统级命令。按设计,此功能应仅限于受信任的管理员,并通过严格过滤特定头部进行保护:

  • CamelExecCommandExecutable
  • CamelExecCommandArgs

然而,易受攻击的Camel版本执行了案例敏感的头部检查。以混合大小写形式传递这些头部(例如CAmelExecCommandExecutable)可绕过安全过滤器。
当被利用时,易受攻击的Camel实例会在Camel进程的权限下执行攻击者选择的系统命令——在某些部署中,该进程可能以root权限运行。

利用条件

  • 攻击者必须能够注入或上传恶意XML路由定义
  • 易受攻击的Camel实例必须解析XML路由
  • 运行时环境必须允许进程执行

注意:在某些环境中,如果路由上传受登录保护,则可能需要低权限认证。

利用方式

公开PoC
一个有效的公开PoC记录在此处:🔗 Akamai CVE-2025-27636 PoC

使用curl利用
要利用此漏洞,向易受攻击的端点发送带有混合大小写头部的请求。例如,在/root中执行ls命令:

1
curl "http://10.0.2.15:80/command-center" --header "CAmelExecCommandExecutable: ls" --header "CAmelExecCommandArgs: /"

缓解措施

  • 将Apache Camel升级至:
    • 4.10.2+
    • 4.8.5+
    • 3.22.4+
  • 限制对管理端点(如命令中心)的外部访问
  • 阻止或清理可能影响系统行为的传入HTTP头部
  • 部署WAF以检测可疑的头部名称或负载
  • 尽可能在低权限用户账户下运行Camel

参考

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计