Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-63621 — Apache Camel camel-knative 结构化 CloudEvent 头注入(CVE-2026-63621)的概念验证复现器,演示了在 Spring Boot 和 Quarkus 运行时中通过恶意扩展字段进行的头注入。 | Kitploit
工具/GitHubGitHub/oscerd/cve-2026-63621
漏洞分析漏洞利用Web安全论文与研究学习与教育
GitHuboscerd/cve-2026-63621

CVE-2026-63621

Apache Camel camel-knative 结构化 CloudEvent 头注入(CVE-2026-63621)的概念验证复现器,演示了在 Spring Boot 和 Quarkus 运行时中通过恶意扩展字段进行的头注入。

查看仓库
10小时12分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-63621 — camel-knative 结构化 CloudEvent 头注入

针对同一 Apache Camel 漏洞的可运行 PoC 复现器,每种运行时一个:

运行时目录技术栈方式
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-knative 4.18.2直接解码(见注)
Camel Quarkuscamel-quarkus/Quarkus 3.36.0 + Camel Quarkus 3.36.0(内置 Camel 4.20.0)完整 HTTP 驱动的 knative source

两者均为受影响版本(该问题已在 4.14.9 / 4.18.4 / 4.22.0 中修复),并且都展示了完全相同的缺陷:camel-knative consumer 接受两种内容模式的 CloudEvents。在二进制模式下,属性以 HTTP 头形式到达,并通过 HeaderFilterStrategy 进行映射,因此 Camel* 头会被丢弃。在结构化模式(Content-Type: application/cloudevents+json)下,整个事件是一个 JSON 体,受影响版本将该 JSON 的每个扩展字段通过 setHeader(key.toLowerCase(Locale.US), value) 映射到消息头,并且没有 HeaderFilterStrategy。扩展名称由发送者选择,因此攻击者可以设置一个 Camel 内部控制头。这里注入的扩展字段 camelsqlquery 变成了 CamelSqlQuery 头(Camel 头不区分大小写)——即 camel-sql producer 将会执行的语句(头注入 → CWE-74)。

关于 Spring Boot 变体的说明。 knative HTTP 传输基于 Vert.x,用于 camel-main / Camel Quarkus 部署。Spring Boot servlet 应用不承载该传输,因此 Spring Boot 复现器直接驱动完全相同的易受攻击解码逻辑(CloudEventProcessors.fromSpecVersion("1.0").consumer(...))——这与入站 application/cloudevents+json 请求在 knative consumer 内部驱动的代码路径相同。Camel Quarkus 变体则是完整的 HTTP 驱动复现器(向运行中的 source POST 一个 CloudEvent)。

root@kitploit:~
cd camel-spring-boot   # or: cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack
docker compose down

受影响构建上的预期输出(两个变体):

root@kitploit:~
1) Benign structured CloudEvent (no extension):
     CamelSqlQuery ... = [null]
2) Malicious structured CloudEvent (injected extension 'camelsqlquery'):
     CamelSqlQuery ... = [SELECT * FROM secrets WHERE 1=1 -- injected-by-attacker]
>>> PROVEN: ... a camel-sql producer downstream would execute this attacker-supplied statement: true

漏洞概要

公告:https://camel.apache.org/security/CVE-2026-63621.html

修复

结构化模式的扩展映射现在会在设置每个字段之前,将其通过 HeaderFilterStrategy(一个 DefaultHeaderFilterStrategy)进行处理,与二进制内容模式的路径保持一致——因此来自不可信主体的 Camel* 扩展名称会被丢弃:

root@kitploit:~
// fixed (AbstractCloudEventProcessor.mapExtensionAsHeader)
final String headerName = key.toLowerCase(Locale.US);
if (!headerFilterStrategy.applyFilterToExternalHeaders(headerName, value, exchange)) {
    message.setHeader(headerName, value);
}

免责声明

本仓库发布仅用于教育和防御目的:帮助 Apache Camel 用户理解该漏洞、验证自身是否受影响,并确认升级可以解决该问题。注入的值是一个良性标记(一个此处从未执行的惰性 SQL 字符串)。请勿将本材料用于不属于自己或未经授权操作的系统。

下载工具
属性值
组件camel-knative(Spring Boot:camel-knative;Quarkus:camel-quarkus-knative)
CWECWE-20(输入验证不当)→ CWE-74(注入)
攻击向量一个带攻击者选择扩展字段的结构化模式 CloudEvent(application/cloudevents+json)
影响向 Exchange 注入 Camel 内部控制头(此处为 CamelSqlQuery)
受影响版本从 3.15.0 到 4.14.9 之前,从 4.15.0 到 4.18.4 之前,从 4.19.0 到 4.22.0 之前
已修复版本4.14.9、4.18.4、4.22.0
JIRACAMEL-24084
致谢Andrea Cosentino(Apache 软件基金会)