CVE-2021-47942Home Assistant Community Store (HACS) 1.10.0 版本存在路径遍历漏洞。由于未对 `/hacsfiles/` 端点进行严格的权限控制和路径验证,未经身份验证的攻击者可利用该漏洞读取服务器上的任意文件。攻击者通过构造恶意路径下载包含用户凭据和刷新令牌的 `.storage/auth` 文件,进而伪造有效的 JWT 令牌,最终获取 Home Assistant 实例的管理员权限,完全接管系统。
该漏洞的核心在于 HACS 对 `/hacsfiles/` 静态资源端点的处理逻辑存在缺陷。攻击者无需登录即可访问该端点,且程序未对路径中的 `../` 跳转符进行过滤,导致目录遍历攻击。利用时,攻击者构造如 `/hacsfiles/../.storage/auth` 的 URL,直接读取 Home Assistant 的核心认证存储文件。该文件以 JSON 格式存储了用户的认证令牌。攻击者获取文件内容后,提取其中的长有效令牌,并将其置于 HTTP 请求头的 Authorization 字段中(通常为 Bearer Token)。由于 Home Assistant 信任这些令牌,攻击者即可绕过身份验证,以管理员身份执行 API 调用,控制智能家居设备或修改系统配置。