CVE-2026-66908
Apache Camel:Camel-platform-http-main:当使用密钥库配置 JWT 身份验证但未配置签发者(issuer)或受众(audience)时,iss 和 aud 声明从未被验证,因此任何由受信任密钥签名且未过期的令牌都会被接受。
- 已发布
- 2026年8月24日
- 已更新
- 2026年8月25日
- 分配 CNA
- apache
- 观察到的证据
- 2026年8月24日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N低 · 未来 30 天
- 百分位
- 34.8%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Apache Camel Platform HTTP Main 组件存在身份验证不当(Improper Authentication)漏洞。该问题影响 Apache Camel:4.8.0 至 4.22.0 之前的版本。camel-main 内嵌 HTTP 服务器可通过 authenticationEnabled 以及 JWT keystore 属性配置 JWT 身份验证来保护其端点。当既未配置 jwtIssuer 也未配置 jwtAudience 时,JWTAuthenticationConfigurer.buildJwtOptions 返回 null,调用方随后完全跳过了 JWTAuthOptions.setJWTOptions 调用,因此 Vert.x JWTAuth 实例仅凭 keystore 构建。结果是,入站令牌仅检查签名和过期时间:iss 和 aud 声明完全没有得到验证。这一点没有任何征兆——服务器正常启动且未报告任何警告——因此按文档所述方式配置的部署,静默地执行了比操作员所认为的已启用验证更弱的验证,而组件文档本身也将签名和过期检查作为默认行为、将签发方和受众作为可选附加项来介绍。应用服务器和管理服务器均受影响,因为两条 configureAuthentication 路径中都存在这一遗漏。因此,任何由所配置 keystore 信任的密钥签名的未过期令牌都会被接受,无论其由哪个签发方签发、面向哪个受众。影响范围取决于 keystore 的信任集:当签名密钥属于共享或多租户身份提供商时,为完全不同的受众合法签发的令牌也会被接受;而持有专用签名者的 keystore 则将其缩小为同一信任域内为其他服务签发的令牌的复用。jwtIssuer 和 jwtAudience 选项在 4.21.0 之前并不存在,因此在更早的版本上,没有任何受支持的方式强制执行这些声明。建议用户升级到修复了该问题的 4.22.0 版本。从 4.22.0 起,当配置了 JWT keystore 但既未设置 jwtIssuer 也未设置 jwtAudience 时,服务器将拒绝启动并指出所涉及的属性;而确实只想进行签名和过期验证的部署,必须通过新的 jwtAllowMissingIssuerAndAudience 选项明确声明,该选项默认值为 false。此行为仅在 4.22.0 中修复。4.14.9 和 4.18.4 版本并不改变默认行为:它们新增了 jwtIssuer 和 jwtAudience 选项,使这些维护分支上的操作员能够通过配置强制执行这些声明;而升级到 4.14.9 或 4.18.4 却未同时设置这两个属性中至少一个的安装,仍然会接受任何由受信任密钥签名的未过期令牌。因此,4.14.x 或 4.18.x 的用户应升级到 4.14.9 或 4.18.4,然后设置 jwtIssuer、jwtAudience 或两者。从 4.8.0 起至 4.21.x(含)的版本无法强制执行这些声明,应迁移到支持该功能的版本。无论使用哪个版本,都应将 JWT keystore 限制为尽可能小的信任集——理想情况下使用专用于该服务的签名者,而非共享的身份提供商密钥——并且如果网关已在服务器前端验证签发方和受众,请确保其无法被绕过。备注:JIRA 工单 https://issues.apache.org/jira/browse/CAMEL-24281 引用了解决该问题的各个提交,并包含更多详细信息。fail-closed 防护无法向后移植。jwtIssuer 和 jwtAudience 选项本身也仅在 4.21.0 中通过 CAMEL-23525 引入,因此在 camel-4.18.x 和 camel-4.14.x 上,操作员没有任何可设置的内容来满足该要求,而该防护会破坏这些分支上的所有 JWT 部署,且没有任何补救措施可用。
来源
1Apache Camel JWT 身份验证绕过(CVE-2026-66908)的概念验证复现器,演示 camel-platform-http-main 中缺少 iss/aud 校验的问题,附带基于 Docker 的环境搭建与验证步骤。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。