CVE-2025-64097NervesHub是一款用于管理现场设备OTA(Over-The-Air)固件更新的Web服务。该服务在1.0.0至2.3.0版本中存在严重的API Token可预测漏洞。由于早期版本生成的Token采用了可预测的格式,包含用户可识别的组件(如用户ID、时间戳等),且未使用密码学安全的随机数生成器,使得攻击者可以通过暴力猜解或枚举方式获取有效的API Token。一旦攻击者获得有效Token,即可冒充合法用户访问账户、执行API操作,甚至可能控制整个NervesHub实例。此漏洞影响所有使用该版本范围的用户,CVSS评分高达9.8,属于紧急严重级别。攻击者无需任何特殊权限即可发起攻击,且无需目标用户交互配合。
漏洞根源在于NervesHub早期版本使用可预测的Token生成机制。攻击者通过分析历史Token样本,发现其包含用户标识符和可推测的时间戳或序列号等组件。攻击者利用此弱点构造候选Token列表,并配合自动化工具对NervesHub API认证端点进行大规模暴力猜解。由于Token空间远小于真正的128位或256位随机数空间,攻击在有限时间内即可成功。成功获取Token后,攻击者可在API中执行任意操作,包括设备注册、固件推送、用户管理等。修复版本2.3.0采用:crypto.strong_rand_bytes/1生成强随机Token,并将Token哈希后存储,即使数据库泄露也无法被利用。