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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-85315 — CVE-2026-85315 的可运行概念验证复现程序,演示 Camel Spring Boot 和 Quarkus 中 camel-grpc 消费者异常消息泄露(CWE-209)。 | Kitploit
工具/GitHubGitHub/oscerd/cve-2026-85315
防御工具Web漏洞扫描器漏洞分析信息收集学习与教育
GitHuboscerd/cve-2026-85315

CVE-2026-85315

CVE-2026-85315 的可运行概念验证复现程序,演示 Camel Spring Boot 和 Quarkus 中 camel-grpc 消费者异常消息泄露(CWE-209)。

查看仓库
21天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-85315 — camel-grpc:消费者异常泄露

针对 Apache Camel 漏洞的可运行概念验证复现程序:当 gRPC 消费者 背后的路由失败时,路由异常的消息会被复制到 gRPC 的 Status 描述 中。与状态 cause(withCause(...))不同——后者仅保留在服务器本地——描述会被传输给调用方客户端,因此能够触发失败的外部调用方可以读取内部错误消息——实际上就是异常消息中携带的类名和包名、文件路径、主机名和连接详情(CWE-209)。这是与 knative、mina 和 CXF 公告一同发布的同一未静默消费者异常家族中的 gRPC 成员。

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

两个模块都针对真实的 camel-grpc 消费者演示了受影响 和 修复后的行为。

演示内容

每个模块运行一个 camel-grpc 消费者(来自 camel-grpc 自身测试 proto 的 PingPong 服务),其路由总是以看似内部的错误消息失败:

Internal failure contacting jdbc:postgresql://db.internal.local:5432 (user=svc_admin) [CVE-2026-85315]

验证器端点 /exploit/attack 扮演一个外部 gRPC 客户端:它调用 PingSyncSync,捕获 StatusRuntimeException,并报告服务器返回的 Status 代码和描述。

  • 受影响:状态描述就是路由异常的消息原文——后端存储 URL 和服务 账号泄露给客户端。
  • 已修复:新的 muteException 消费者选项默认值为 true,因此描述为通用的 "Exchange processing failed",真实消息永远不会离开服务器(它仅保留在仅本地的 状态原因中)。
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: description leaks the internal message; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85315-grpc-exception-disclosure-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: description is "Exchange processing failed"; >>> 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): description leaks the internal message
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: description is "Exchange processing failed"

每个模块在同一进程内于 8080 上为验证器提供服务,并在 50051 上运行 camel-grpc 消费者;仅 8080 对外发布。

漏洞摘要

属性值
组件camel-grpc(GrpcMethodHandler,消费者)
CWECWE-209(生成包含敏感信息的错误消息)
严重性中危
攻击向量外部 gRPC 客户端触发路由失败并读取传输的 Status 描述
影响内部错误详情(类/包名、路径、主机名、连接详情)泄露给调用方
受影响版本从 4.0.0 起至 4.18.5 之前,从 4.19.0 起至 4.22.1 之前
修复版本4.18.5、4.22.1、4.23.0
JIRACAMEL-24478
致谢Claude Security Scan Tool

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

Quarkus 受影响模块基于 CQ 3.39.0(Camel 4.22.0)构建。修复后的控制版本为 CQ 3.40.0(Camel 4.22.1)。

修复方案

GrpcMethodHandler 新增了 muteException 消费者选项(默认 true)。启用后,失败的交换在传输的状态中会生成通用描述 "Exchange processing failed";路由异常仍会通过 withCause(...) 在本地附加,而 gRPC 不会将其发送给客户端。在端点上设置 muteException=false 可恢复之前的行为。

无法升级时的缓解措施

在 onException 处理器中将失败映射为显式状态,使框架永远不会将异常消息复制到描述中。

免责声明

本仓库出于教育和防御目的发布:帮助 Apache Camel 用户理解该漏洞、验证自身是否受影响,并确认升级可解决该问题。 “内部”消息是良性占位符(db.internal.local、svc_admin),整个演示在单一进程中运行。请勿将本材料用于您不拥有或 不运营的系统。

下载工具