Home Assistant 近期披露的一个漏洞揭示了,攻击者如何利用对 FFmpeg 输入的不当处理来窃取敏感文件,并最终在受影响的系统上执行 root 级命令。
该漏洞由 elttam 的安全研究人员发现,凸显了在未进行严格输入验证的情况下,将 FFmpeg 等功能强大的多媒体工具集成到应用程序中所存在的风险。
Home Assistant 是一款广泛使用的开源智能家居平台,支持庞大的设备和服务生态系统。其灵活性与“本地优先”的架构,使其成为注重隐私的用户的热门选择。
然而,由于该平台部署在受信任的家庭网络中,这也使其成为攻击者进行横向移动或完全控制系统的诱人目标。
该漏洞存在于 Wyoming 集成中,具体来说是用于音频播放的“announce”功能。此功能依赖 FFmpeg 处理媒体流,并将用户提供的输入直接作为命令参数传递。
虽然这不是典型的命令注入漏洞,但它确实允许参数注入,使攻击者能够操纵 FFmpeg 解释输入源的方式。
Home Assistant FFmpeg 漏洞
研究人员发现,尽管已对某些协议(如 HTTP 和 HTTPS)进行了限制以防止服务器端请求伪造,但仍有若干 FFmpeg 伪协议被允许使用。
其中包括“file:”、“concat:”和“subfile:”,这些协议可以串联起来生成复杂的输入流。通过利用这些协议,攻击者可以绕过验证控制,并指示 FFmpeg 读取任意的本地文件。
利用该漏洞面临的一个关键挑战是 FFmpeg 要求输入为有效的音频数据。直接读取“/proc/self/environ”等敏感文件会失败,因为这些文件缺乏正确的音频头。
为克服这一限制,elttam 研究人员开发了一种技术,通过复用从目标系统上现有二进制文件中提取的特定字节范围,构建合成音频头。
这些片段通过 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 的参数解析行为而导致的任何绕过。
这一漏洞凸显了一个更广泛的安全教训:即使是像 FFmpeg 这样成熟的工具,如果集成时没有仔细处理输入,也会变得危险。
随着智能家居平台的功能不断扩展,确保组件之间的安全交互对于防止复杂的攻击链仍然至关重要。
原文:https://cybersecuritynews.com/home-assistant-ffmpeg-vulnerability/
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/70664.html