CVE-2026-39413LightRAG 在 1.4.14 版本之前存在严重的 JWT 算法混淆漏洞。该漏洞源于 LightRAG API 在处理 JWT 令牌时,未正确限制算法类型。攻击者可利用此缺陷,在 JWT 头部将算法设置为 'none',从而伪造一个不带签名的令牌。由于服务端未显式拒绝 'none' 算法,该恶意令牌会被误认为是有效的,进而导致攻击者绕过身份验证,获得未授权的系统访问权限。
该漏洞的核心原理在于 JWT 签名验证机制的配置错误。在标准的 JWT 认证流程中,服务端应使用密钥验证令牌的签名以确保其未被篡改。然而,LightRAG 受影响版本在调用 `jwt.decode()` 函数时,未传入 `algorithms` 参数来强制指定允许的加密算法(如 HS256 或 RS256)。这使得攻击者能够利用 JWT 规范中保留的 'none' 算法进行攻击。利用方式如下:攻击者不需要知道服务端的签名密钥,只需构造一个头部为 `{'alg': 'none'}`、载荷为任意高权限身份信息的 JWT,并将签名部分置空。当服务端解析此令牌时,若未校验算法,将跳过签名验证步骤,直接接受攻击者伪造的载荷信息,从而造成严重的身份认证绕过风险。