漏洞总结:DataVines JWT 认证绕过 漏洞概述 DataVines 存在一个关键的 JWT 认证绕过漏洞,由两个缺陷共同导致: 1. 硬编码密钥:JWT 签名密钥在代码中被硬编码为默认值 ,且未在配置文件( )中提供,导致所有默认部署使用相同的密钥。 2. 自比较逻辑:在 方法中,代码将提取出的密码与自身进行比较( ),导致验证逻辑永远返回 。 影响范围 攻击者只需知道一个有效的用户名(如默认的 ),即可伪造 JWT Token,完全绕过认证机制。 访问所有受保护的 API 端点。 列出所有工作空间和数据源配置(数据库凭证)。 以被冒充用户的身份执行任意操作。 访问仅限管理员的功能。 无需有效密码或用户账户。 修复方案 参考 Pull Request #579。 移除硬编码密钥,使用配置文件中的密钥。 修正 中的逻辑,确保密码验证逻辑正确。 POC 代码