2024年9月
CVE: https://www.cve.org/CVERecord?id=CVE-2024-48644
NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-48644
Tenable: https://www.tenable.com/cve/CVE-2024-48644
Reolink Duo 2 WiFi 摄像头(固件版本 v3.0.0.1889_23031701)的登录组件中存在账户枚举漏洞,允许未经身份验证的远程攻击者通过登录尝试确定有效用户账户。这可能导致用户账户被枚举,并可能助长其他攻击,例如密码暴力破解。该漏洞源于应用程序对使用有效用户名和无效用户名的登录尝试返回不同的响应。
Reolink Duo Wifi v3.0.0.1889_23031701
Reolink Duo 2 WiFi - https://reolink.com/br/product/reolink-duo-wifi/
此漏洞可通过使用默认或常见用户名尝试登录来复现。应用程序对有效用户名和无效用户名返回不同响应,使潜在攻击者能够识别出有效账户。具体来说,当提供有效用户名但密码错误时,应用程序返回 password wrong;当提供无效用户名时,返回 login failed。
以下是复现并演示该漏洞的三步概念验证:
访问登录页面时,可以观察到用户名字段自动填充了 admin。这表明 admin 可能是默认用户名。

当使用错误密码时,应用程序返回一个包含对象的 JSON 数组。在该对象中,error 属性包含另一个具有两个属性的对象:detail 和 rspCode。其中 detail 属性会返回消息 password wrong。


当使用无效用户名时,应用程序返回一个包含对象的 JSON 数组。该对象包含 error 属性,该属性本身包含另一个具有两个属性的对象:detail 和 rspCode。在这种情况下,detail 属性返回消息 login failed,表明该用户名不存在。


为缓解此账户枚举漏洞,建议对所有失败的登录尝试实施通用错误消息,无论失败原因如何。这意味着无论用户名是否有效,或者密码是否正确,应用程序都应始终返回类似 Invalid username or password 的通用消息。这将防止潜在攻击者根据应用程序的响应区分有效和无效用户名。
由 Rosemberg Silva 发现