内容提要
Home Assistant 的 Wyoming 集成存在 FFmpeg 参数注入漏洞,攻击者利用伪协议绕过验证,窃取敏感文件(如环境变量),进而获取 root 权限。该漏洞已在 2026.6.2 版本中修复,通过严格协议白名单防止滥用,凸显了安全集成第三方工具的重要性。
延伸解读
攻击条件与影响范围
成功利用此漏洞需要攻击者控制与目标实例配对的Wyoming Assist卫星,并持有有效的Home Assistant API令牌。这意味着攻击者通常需先获得本地网络访问权限,或已具备一定程度的初始访问。尽管门槛不低,但在已遭入侵的家庭网络中,该漏洞可被用于横向移动,最终完全控制主机系统,风险不容忽视。
修复策略与防护要点
官方在2026.6.2版本中通过引入严格的协议白名单修复了漏洞,仅允许HTTP、HTTPS、文件、TCP和TLS等安全协议,并确保白名单在输入参数之前生效,防止绕过。这一修复思路值得借鉴:在集成第三方工具时,应明确限制其可访问的资源范围,并对用户输入进行严格校验,避免因信任工具本身而忽视输入验证。
对智能家居安全的启示
该漏洞表明,即使是成熟的开源工具,在集成时若未妥善处理输入,也可能成为攻击链的一环。智能家居平台功能日益复杂,组件间的安全交互至关重要。用户应保持系统及时更新,并关注官方安全公告,以防范类似风险。
Q&A
Home Assistant 的 FFmpeg 漏洞是什么?
该漏洞存在于 Home Assistant 的 Wyoming 集成中,具体是用于音频播放的 'announce' 功能。由于未严格验证用户输入,攻击者可以通过参数注入操纵 FFmpeg 的输入源,利用伪协议(如 file:、concat:、subfile:)绕过限制,读取任意本地文件,最终可能获取 root 权限。
攻击者如何利用该漏洞窃取敏感文件?
攻击者通过控制 Wyoming Assist 卫星并拥有有效的 Home Assistant API 令牌,触发存在漏洞的 announce 端点。他们利用 FFmpeg 允许的伪协议(如 file:、concat:、subfile:)组合输入流,绕过验证,指示 FFmpeg 读取任意本地文件。为了满足 FFmpeg 对有效音频数据的要求,研究人员开发了通过复用现有二进制文件中的字节范围构建合成音频头的技术,从而成功窃取文件内容。
该漏洞可能造成什么影响?
攻击者可以窃取敏感文件,如环境变量,包括 SUPERVISOR_TOKEN。该令牌可提供对 Home Assistant 监督程序 API 的特权访问,从而以 root 用户身份执行命令,导致 Home Assistant 实例和底层操作系统完全被攻破。
该漏洞的利用条件是什么?
利用该漏洞需要满足两个条件:攻击者必须控制与目标实例配对的 Wyoming Assist 卫星(通常需要访问本地网络),并且需要有效的 Home Assistant API 令牌才能触发存在漏洞的公告端点。
该漏洞在哪个版本中修复?修复措施是什么?
该漏洞已在 Home Assistant Core 版本 2026.6.2 中修复。修复措施是为 FFmpeg 引入严格的协议允许列表,将允许的输入源限制为 HTTP、HTTPS、文件、TCP 和 TLS 等安全选项,并确保在输入参数之前应用允许列表,防止绕过。
该漏洞揭示了什么安全教训?
该漏洞凸显了集成第三方工具(如 FFmpeg)时严格输入验证的重要性。即使是成熟工具,如果集成时未仔细处理输入,也可能变得危险。随着智能家居平台功能扩展,确保组件间安全交互对于防止复杂攻击链至关重要。