OpenOLAT JWT伪造认证绕过漏洞 (CVE-2025-XXXX) 漏洞概述 OpenOLAT的OpenID Connect隐式流程实现未验证JWT签名。 方法静默丢弃JWT的签名部分, 方法仅验证声明级字段(issuer、audience、state、nonce),未执行任何加密签名验证。 影响范围 攻击条件: OpenOLAT启用OIDC隐式流程 攻击者可观察授权响应中的 和 参数(通过浏览器URL或网络流量) 攻击者能发起OIDC登录流程以捕获重定向URL中的值 攻击后果: 攻击者可构造任意 声明和虚假签名的JWT,向 端点POST请求,以任意用户身份(包括管理员)获得认证会话。 修复方案 正式修复 升级至20.2.5或更新版本,并切换到其他认证机制(OAuth隐式流程不再受支持) 临时缓解措施 禁用OIDC隐式流程登录提供程序: 1. 在 中设置: 2. 或在管理控制台:Administration > Login > OAuth 2.0 中禁用"OpenID Connect" 3. 在身份提供方(如Keycloak)中禁用OpenOLAT客户端的隐式流程 4. 使用 的自定义OIDC提供程序也必须禁用隐式流程 参考 OAuth 2.0安全最佳实践 (RFC 9700) - 已弃用隐式授权 OpenID Connect Core 1.0 第3.2节 - 隐式流程 CWE-347: 加密签名验证不当