CVE-2025-68704Jervis是一个用于Job DSL插件脚本和共享Jenkins管道库的Java库。该漏洞存在于2.2之前的版本中,库内部使用了java.util.Random()类来生成随机数,而非使用密码学安全的随机数生成器(CSPRNG)。java.util.Random()是确定性算法,其输出可以被预测,这在需要安全随机数的场景中构成了严重的安全风险。攻击者可能通过分析随机数序列来预测后续生成的数值,从而可能获取敏感信息、绕过安全验证或进行其他恶意操作。由于该库常用于Jenkins自动化环境,漏洞可能影响CI/CD管道的安全性和完整性。此漏洞已被分配CVE-2025-68704,CVSS评分7.5,属于高危级别。
Jervis库在2.2之前的版本中使用了java.util.Random()进行随机数生成。java.util.Random()基于线性同余生成器(LCG)算法,使用固定的种子值和线性变换公式生成伪随机数序列。这种生成器的主要问题是其输出具有确定性:给定相同的种子,将产生完全相同的随机数序列。攻击者可以通过以下方式利用此漏洞:1)如果能够获取部分随机数输出,可以推算种子值;2)一旦种子被确定,可以预测所有未来生成的随机数;3)利用可预测的随机数,攻击者可能猜测会话令牌、加密密钥或其他安全敏感的标识符。在Jenkins自动化场景中,这可能导致未经授权的管道执行、敏感凭据泄露或构建过程篡改。修复版本2.2已改用java.security.SecureRandom(),该类提供密码学安全的随机数生成。