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,漏洞实质未修复。