Apache Camel远程代码执行漏洞(CVE-2025-27636):通过大小写敏感头过滤绕过实现攻击

本文详细分析了Apache Camel中的CVE-2025-27636漏洞,该漏洞由于HTTP头部大小写敏感过滤机制缺陷,允许攻击者绕过安全限制执行任意系统命令,影响版本包括4.10.0-4.10.1等,提供了技术细节和修复方案。

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 设计