CVE-2025-29891 – Apache Camel通过CAmelExecCommandArgs头部注入的漏洞利用
概述
CVE-2025-29891是在Apache Camel的HTTP端点配置不当中发现的一个远程命令注入漏洞。该漏洞源于对CAmelExecCommandExecutable和CAmelExecCommandArgs头部的不安全使用,攻击者可利用这些头部执行任意命令。受影响系统为攻击者能够与HTTP暴露的Camel路由进行交互的情况,特别是在安全加固薄弱或缺失时。
CVE ID: CVE-2025-29891
严重程度: 中等
CVSS评分: 4.8
EPSS评分: 0.24%
影响: 远程代码执行
攻击向量: 网络
需要认证: 否
受影响组件: Apache Camel中的camel-exec路由
技术分析
Apache Camel支持通过头部执行路由。当使用camel-exec组件时,它允许通过设置以下HTTP请求头来执行系统命令:
- CAmelExecCommandExecutable – 要运行的二进制文件(如curl、bash)
- CAmelExecCommandArgs – 传递给二进制文件的参数
如果系统暴露了使用camel-exec组件的HTTP端点,并且未对这些头部进行过滤或验证,攻击者可以利用它们来在主机系统上执行任意命令。
利用条件
- Apache Camel实例必须暴露使用camel-exec的HTTP端点。
- 攻击者必须能够向端点发送精心构造的HTTP请求。
- CAmelExecCommandExecutable和CAmelExecCommandArgs头部必须未被过滤或清理。
漏洞利用
通过HTTP暴露此逻辑的路由配置错误可被武器化以远程发出命令。当与可通过Web访问的端点(如/api/system-version
)结合时,此行为变得至关重要。
例如,一个简单的sleep命令:
|
|
或者用于反向shell的完整远程命令执行:
|
|
这些头部被直接解释并在主机上执行,如果服务器允许出站连接,则启用完整的shell访问。
动手尝试:您可以通过OffSec的CVE-2025-29891实验室在受控环境中尝试利用此漏洞。
缓解措施
- 不要通过公开可访问的端点暴露camel-exec路由。
- 在调用命令执行之前验证和清理头部及输入。
- 在敏感路由周围使用适当的身份验证和授权。
- 除非绝对需要,考虑禁用或移除camel-exec组件。
- 如果此CVE发布了修补版本,请升级Apache Camel。
- 限制服务器的出站访问以防止反向shell或外部负载获取。
参考资料
- Offsec CVE-2025-27636博客文章
- NVD条目
- CVE详细信息
- Akamai博客 – Apache Camel漏洞