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

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-85301 — 针对 Apache Camel camel-keycloak 颁发者验证绕过漏洞(CWE-287)的可运行概念验证复现程序,演示 Spring Boot 和 Quarkus 中受影响与已修补的行为。 | Kitploit
工具/GitHubGitHub/oscerd/cve-2026-85301
防御工具漏洞分析漏洞利用Web应用程序漏洞利用身份验证学习与教育
GitHuboscerd/cve-2026-85301

CVE-2026-85301

针对 Apache Camel camel-keycloak 颁发者验证绕过漏洞(CWE-287)的可运行概念验证复现程序,演示 Spring Boot 和 Quarkus 中受影响与已修补的行为。

查看仓库
11天前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-85301 — camel-keycloak:issuer 校验绕过

针对 Apache Camel 漏洞的可运行概念验证复现程序:camel-keycloak 的 KeycloakSecurityProcessor 仅在 introspection 响应实际携带 iss 声明时才校验被 introspect 令牌的 issuer。当该声明缺失时,校验会被跳过,而不是被视为失败,因此,只要 introspection 端点返回 active 且未指明 issuer,配置的 issuer 并未签发的令牌就可能被接受。如果某个部署针对一个省略 iss 且服务于多个 issuer 的端点进行 introspection,其后果就是它会认证一个本应被拒绝的调用方(CWE-287)。

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

两个模块都针对真实的 KeycloakSecurityProcessor 演示了受影响和已修复的行为。

演示内容

驱动程序配置了一个 KeycloakSecurityPolicy,设置 validateIssuer=true(预期 issuer 为 http://localhost:8080/realms/test-realm),并配置一个令牌 introspector,该 introspector 报告令牌为 active,但返回没有 iss 声明——这正是 broker/gateway introspection 端点会产生的结果,因为 RFC 7662 将 iss 设为可选。随后,它使用 Authorization: Bearer <attacker-token> 头驱动 KeycloakSecurityProcessor,并报告是否到达受保护路由。

  • 受影响:缺失的 iss 使处理器跳过 issuer 校验,因此令牌被接受并到达路由——来自非预期 issuer 的令牌被认证。
  • 已修复:缺失的 iss 属于校验失败;处理器抛出 CamelAuthorizationException (“Token issuer missing…”),且路由永远不会被到达。
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: route reached, token accepted; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85301-keycloak-issuer-bypass-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: CamelAuthorizationException "Token issuer missing"; >>> 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): route reached, token accepted
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: CamelAuthorizationException "Token issuer missing"

漏洞摘要

属性值
组件camel-keycloak(KeycloakSecurityProcessor.validateIssuerFromIntrospection)
CWECWE-287(认证不当)
严重性中
攻击向量来自非预期签发者的令牌,针对一个省略 iss 且服务于多个签发者的端点进行内省,同时 validateIssuer=true
影响部署会认证一个其令牌并非由所配置签发者签发的调用方
受影响版本从 4.15.0 起至 4.18.5 之前,从 4.19.0 起至 4.22.1 之前
修复版本4.18.5、4.22.1、4.23.0
JIRACAMEL-24448
致谢Claude Security Scan Tool

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

Quarkus 受影响模块基于 CQ 3.39.0(Camel 4.22.0)构建,其中 camel-quarkus-keycloak 映射到 受影响的 Camel 版本。修复后的控制版本为 CQ 3.40.0(Camel 4.22.1)。

修复

KeycloakSecurityProcessor 现在将缺失的 iss 声明视为 验证失败:当启用签发者验证且内省结果不携带签发者时,它会抛出 CamelAuthorizationException,而不是提前返回并放行请求。先前的代码在声明缺失时会跳过 比较,这恰好使得那些未指明签发者的令牌的签发者未经验证。

无法升级时的缓解措施

确保内省端点返回 iss 声明并且仅服务于一个签发者,这样来自任何其他 签发者的令牌要么被指明(并被拒绝),要么永远不会被内省为有效。

免责声明

本仓库出于教育和防御目的发布:帮助 Apache Camel 用户理解该 漏洞、验证自身是否受影响,并确认升级可以解决该问题。令牌内省器是一个 进程内桩,不涉及真实的 Keycloak 服务器或网络调用;“攻击者令牌”是一个不透明的占位 字符串。请勿将本材料用于您不拥有或运营的系统。

下载工具