CVE-2025-68932FreshRSS是一款免费的自托管RSS聚合器。在1.28.0版本之前,FreshRSS使用cryptographically weak的随机数生成器(mt_rand()和uniqid())来生成remember-me认证令牌和challenge-response nonce。remember-me令牌提供永久性身份验证,是"保持登录"功能的唯一凭证。由于使用了可预测的随机数生成器,攻击者可以预测有效的会话令牌,从而实现持久性会话劫持和账户接管。此漏洞影响所有使用该功能的所有用户,攻击者无需任何前置条件即可发起攻击,成功利用后可完全控制受害者账户。
漏洞根源在于FreshRSS使用PHP的mt_rand()函数和uniqid()函数生成认证令牌。mt_rand()是一个伪随机数生成器,其输出可以通过已知种子和算法预测。uniqid()基于系统时间生成唯一ID,在特定条件下同样可被预测。攻击者可以通过以下方式利用:1)分析mt_rand()的内部状态,2)通过暴力破解或时间推测预测uniqid()输出,3)结合两种方法生成有效的remember-me令牌。一旦攻击者获得有效令牌,即可在不需密码的情况下永久登录受害者账户。由于remember-me令牌有效期长且无额外验证机制,攻击者可实现长期账户控制。