Apache Camel JWT认证绕过漏洞:iss/aud未校验,CVSS 7.5

Apache Camel爆出高危认证绕过漏洞CVE-2026-66908(CVSS 7.5),影响4.8.0-4.21.x。JWT配置中iss/aud声明未被校验,攻击者可利用受信任签名密钥的任意token越权访问。本文详解漏洞原理、攻击链、修复版本及缓解措施,帮助运维人员自查加固。

🔓 High 漏洞利用

Apache Camel Platform HTTP Main组件存在不当认证漏洞(CVE-2026-66908,CVSS 7.5),影响4.8.0至4.21.x版本。当管理员仅配置JWT keystore而未设置jwtIssuer/jwtAudience时,Vert.x JWTAuth实例不会校验iss和aud声明,仅验证签名与过期时间,导致攻击者可使用任意受信任密钥签发的未过期令牌绕过授权。

来源:NVD-Latest | 2026-08-24 | 原文链接

🔍 关键发现

  • camel-main内嵌HTTP服务器在未配置jwtIssuer/jwtAudience时,JWTAuthOptions.setJWTOptions被跳过,导致JWT仅校验签名和expiry,iss和aud完全未验证
  • 该问题同时影响应用服务器和管理服务器,两条configureAuthentication路径均存在相同缺陷,且服务器启动时无任何警告
  • 修复版本4.22.0改为默认拒绝启动(除非显式设置jwtAllowMissingIssuerAndAudience=true),4.14.9和4.18.4仅新增配置选项但未改变默认安全行为

⚔️ 攻击链分析

1. 目标使用Apache Camel 4.8.0-4.21.x并启用JWT认证,仅配置keystore未设置jwtIssuer/jwtAudience;2. 攻击者获取由keystore信任的任意签名密钥(如共享IdP中的其他服务密钥);3. 攻击者伪造或复用针对其他受众/发行方的未过期JWT;4. 服务器仅验证签名和过期时间,接受该令牌并授予访问权限

🚩 失陷指标 (IOC)

  • 无已知网络IOC;可检测配置中authenticationEnabled=true但jwtIssuer/jwtAudience缺失的Camel实例
  • JWT日志中出现iss/aud与预期不符但仍被接受的认证记录

🛡️ 缓解建议

  • ✅ 升级至Apache Camel 4.22.0(修复版本),或升级到4.14.9/4.18.4并显式设置jwtIssuer或jwtAudience
  • ✅ 若业务只需签名+过期校验,在4.22.0中需显式设置jwtAllowMissingIssuerAndAudience=true,并评估风险
  • ✅ 限制JWT keystore可信签名密钥为最小集合,优先使用专用签名密钥而非共享身份提供方密钥
  • ✅ 在网关层强制校验iss/aud,并确保无法绕过该网关直接访问后端Camel服务

涉及漏洞:["CVE-2026-66908"]


⚠️ 本文仅供安全研究与学习,IOC 信息请勿用于非法目的。

🤖 常见问题解答(FAQ)

❓ 攻击者需要什么条件才能利用此漏洞?

攻击者需要获得目标Camel受信任keystore中任一密钥签发的未过期JWT。若keystore信任共享IdP密钥,则可使用签发给其他受众的合法token直接访问;若为专用密钥,则需先窃取或复用同信任域内其他服务的token。

❓ 如何判断我的Camel部署是否受影响?

检查版本是否在4.8.0到4.21.x之间,且authenticationEnabled=true同时未配置jwtIssuer和jwtAudience。若仅配置了keystore,则JWT仅校验签名和过期时间,即受影响。

❓ 升级到4.14.9或4.18.4是否足够?

不充分。这两个维护版本只是新增了jwtIssuer/jwtAudience选项,但默认不强制校验。必须同时设置至少其中一个属性,否则仍是仅验证签名和expiry,漏洞实质未修复。

[!] CONTACT_CHANNELS

如需商务合作、技术咨询或漏洞反馈,请通过以下离岸节点联系作者。

> PING_AUTHOR (@A1RedTeam)