Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-85296 — 可运行的 Spring Boot 和 Quarkus 概念验证,复现 CVE-2026-85296,即 camel-as2 跨合作伙伴 MDN 签名密钥混淆(CWE-488),包含受影响版本和修复版本构建。 | Kitploit
工具/GitHubGitHub/oscerd/cve-2026-85296
漏洞分析漏洞利用Web应用程序漏洞利用密码学学习与教育
GitHuboscerd/cve-2026-85296

CVE-2026-85296

可运行的 Spring Boot 和 Quarkus 概念验证,复现 CVE-2026-85296,即 camel-as2 跨合作伙伴 MDN 签名密钥混淆(CWE-488),包含受影响版本和修复版本构建。

查看仓库
41天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-85296 — camel-as2:跨合作伙伴 MDN 签名密钥混淆

针对 Apache Camel 漏洞的可运行概念验证复现程序,该漏洞中按请求的签名材料被保存在跨请求共享的状态中,而非局限于正在处理的请求。单个 ResponseMDN 注册在共享的 HttpProcessor 上,为每个 AS2 请求提供服务;在动态密钥配置下(每个路径一个贸易合作伙伴,每个合作伙伴的密钥按请求从 HttpContext 解析),受影响的构建将解析出的按请求签名密钥写回实例字段。当部署服务多个合作伙伴时,并发或连续的请求因此可能观察到彼此的材料,并且消息处置通知(Message Disposition Notification)可能使用不同贸易合作伙伴的密钥进行签名。AS2 部署通常在设计上就是多合作伙伴的,因此该条件可由普通并发流量触发。

运行时目录技术栈
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-as2 4.22.0(受影响;修复版本 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-as2(Camel 4.22.0,受影响;修复对照 CQ 3.40.0 / Camel 4.22.1)

两个模块均演示了受影响和修复后的行为。

演示内容

驱动程序以动态密钥形式使用真实的 ResponseMDN(AS2 响应拦截器)。它依次通过 ResponseMDN.process(...) 解析两个合作伙伴的签名材料——先合作伙伴 A,再合作伙伴 B——(每个合作伙伴的 RSA 密钥位于 HttpContext 中),并在每次之后读取实例的 signingPrivateKey 字段。

  • 受影响:处理合作伙伴 A 的请求后,共享实例持有合作伙伴 A 的私钥;处理合作伙伴 B 的请求后,持有合作伙伴 B 的私钥。按请求的密钥存储在共享实例上,因此针对一个合作伙伴的并发请求可以读取——并使用——另一个合作伙伴的密钥对其 MDN 进行签名。
  • 修复后:该字段为 final 且从不写入;按请求的密钥始终局限于请求内,因此共享实例的 signingPrivateKey 保持为 null。
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: per-request key on the shared instance; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85296-as2-signing-key-confusion-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: field stays null; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.22.0): per-request key on the shared instance
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: field stays null

漏洞摘要

属性值
组件camel-as2(ResponseMDN 动态键处理)
CWECWE-488(数据元素暴露给错误的会话)
严重性中危
攻击向量在共享同一个 ResponseMDN 实例的多合作伙伴部署中,普通的并发 AS2 流量
影响使用另一交易伙伴的私钥签名的消息处置通知;跨伙伴的签名材料复用
受影响版本从 4.0.0 起至 4.18.5 之前,从 4.19.0 起至 4.22.1 之前
修复版本4.18.5、4.22.1、4.23.0
JIRACAMEL-24429
致谢Claude Security Scan Tool

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

Quarkus 受影响模块基于 CQ 3.39.0(Camel 4.22.0)构建:本 PoC 所验证的按请求动态 AS2 签名密钥机制 晚于 CQ 3.29.0(Camel 4.15.0),因此 CQ 3.39.0 与 Spring Boot 模块搭载的是同一个 Camel 4.22.0。

修复方案

ResponseMDN 将配置的安全字段设为 final,并在 process() 内部将 按请求的动态材料解析为局部变量,绝不将其写回实例字段。因此,单个共享实例 不再会将一个请求的签名密钥泄露给另一个请求。

无法升级时的缓解措施

为每个交易伙伴运行独立的 Camel 上下文,从而不在它们之间共享任何签名材料。

免责声明

本仓库出于教育和防御目的发布:帮助 Apache Camel 用户理解该 漏洞、验证自身是否受影响,并确认升级可以解决该问题。RSA 密钥对是在 进程内为演示而生成的,且为惰性密钥。请勿将本材料用于您不拥有或 不运营的系统。

下载工具