假 Websocket 服务器安装允许完全接管 Home Assistant Core (CVE-2023-41896)
CVE编号
CVE-2023-41896利用情况
暂无补丁情况
N/A披露时间
2023-10-20漏洞描述
Home Assistant是一个开源的家庭自动化系统。在审计前端代码以识别隐藏参数时,Cure53发现了`auth_callback=1`,该参数与WebSocket认证逻辑和`state`参数结合使用。state参数包含hassUrl,随后用于建立WebSocket连接。这种行为允许攻击者创建一个恶意Home Assistant链接,其中修改了state参数,强制前端连接到替代WebSocket后端。因此,攻击者可以伪造任何WebSocket响应并触发跨站脚本攻击(XSS)。由于XSS在实际的Home Assistant前端域上执行,它可以连接到真正的Home Assistant后端,这实际上代表了一个全面接管的情景。该漏洞允许其他来源的网站使用iframe嵌入,如GHSA-935v-rmg9-44mw中所讨论的,这使得此利用更加隐蔽,因为恶意网站可以将妥协策略伪装在后台。然而,即使没有这个漏洞,攻击者仍然可以直接向受害者用户发送`auth_callback`链接。Cure53建议修改WebSocket代码的身份验证流程以减轻此问题。在这方面,最佳的实现方式是不信任通过GET参数传入的hassUrl。Cure53必须说明Cure53顾问需花费大量时间来识别XSS向量,尽管完全控制WebSocket响应。在许多领域,来自WebSocket的数据已经得到适当的过滤,这阻碍了后期利用。审计团队最终发现了自定义面板的`js_url`,尽管通常情况下,前端展示了合理的安全硬化。这个问题已经在Home Assistant Core版本2023.8.0和npm包home-assistant-js-websocket版本8.2.0中得到解决。建议用户进行升级。目前没有已知的解决此漏洞的方法。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接 |
|
---|---|
https://github.com/home-assistant/core/security/advisories/GHSA-935v-rmg9-44mw | |
https://github.com/home-assistant/core/security/advisories/GHSA-cr83-q7r2-7f5q |
受影响软件情况
# | 类型 | 厂商 | 产品 | 版本 | 影响面 | ||||
1 | |||||||||
---|---|---|---|---|---|---|---|---|---|
运行在以下环境 | |||||||||
应用 | home-assistant | home-assistant | * | Up to (excluding) 2023.8.0 | |||||
运行在以下环境 | |||||||||
应用 | home-assistant | home-assistant-js-websocket | * | Up to (excluding) 8.2.0 |
- 攻击路径 网络
- 攻击复杂度 高
- 权限要求 低
- 影响范围 未更改
- 用户交互 需要
- 可用性 高
- 保密性 高
- 完整性 高
CWE-ID | 漏洞类型 |
CWE-345 | 对数据真实性的验证不充分 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论