🔴 【深度分析】严重安全漏洞:CVE-2026-64825

CVSS 评分: 严重(9.0)🔴  状态: Deferred  发布时间: 2026-07-21


🔍 技术细节速览

字段 值
CVE ID CVE-2026-64825
CVSS 评分 9.0 🔴
严重程度 严重
CVSS 向量 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CWE 分类 CWE-22
发布时间 2026-07-21
最后更新 2026-07-21
状态 Deferred
数据来源 disclosure@vulncheck.com

CVSS 评分:9.0(严重)
CVSS 向量: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L
危害等级: 严重(Critical)


漏洞概述

CVE-2026-64825 是 Home Assistant Core 2026.6.0 之前版本中存在的一个路径遍历(Path Traversal)漏洞,允许未认证的攻击者在初始引导(onboarding)窗口期间,通过上传精心构造的备份归档文件,向主机文件系统的任意位置写入任意文件。当 Home Assistant 进程以 root 权限运行时,攻击者可获得完全的文件系统访问能力,进而可能实现远程代码执行、持久化后门植入等严重后果。

关键影响:

  • 攻击复杂度: 低(无特殊条件)
  • 所需权限: 无(未认证)
  • 利用前提: 目标系统处于首次引导/未完成初始化阶段(默认存在)
  • 后果: 任意文件写入 → 完整性和可用性受损(高完整性影响,低可用性影响)

受影响组件与版本

组件 版本范围
Home Assistant Core < 2026.6.0

备注: 漏洞仅在初始引导流程中可利用,但该窗口在默认安装时始终存在。所有低于 2026.6.0 的版本均受影响。


漏洞原理分析

技术成因

Home Assistant Core 在初始引导阶段允许用户上传备份归档文件(.tar 或类似格式)以恢复配置。系统从归档包中读取 backup.json 文件,提取 name 字段用于确定备份的存放路径。

正常情况下,路径拼接逻辑如下:

backup_dir = Path(config.get("backup_directory"))  # 例如 /config/backups
target_path = backup_dir / name                     # pathlib.Path.__truediv__

然而,Python 的 pathlib.Path.__truediv__ 运算符(即 /)在处理路径时,如果右侧参数是一个绝对路径,则会完全丢弃左侧的前缀目录,直接使用右侧的绝对路径作为最终结果。例如:

Path("/config/backups") / "/tmp/evil.sh"
# 结果为 PosixPath('/tmp/evil.sh')

攻击者只需在 backup.json 的 name 字段中提供一个绝对路径(如 /tmp/evil.sh 或 /etc/cron.d/malicious),即可绕过预期的备份目录限制,将归档中的攻击载荷写入任意目标位置。

攻击向量

  1. 触发条件: 攻击者需要能够访问 Home Assistant 的 Web 服务(通常监听在 8123 端口)且实例处于初始引导状态(未完成初始化)。
  2. 操作步骤:
    • 构造一个合法的 .tar 归档文件,其中包含:
      • 一个篡改后的 backup.json 文件,其 name 字段设置为绝对路径(如 /data/supervisor/startup.sh)。
      • 一个或任意恶意载荷文件,放在归档的预期位置上。
    • 通过 /api/onboarding/ 或相关上传接口提交该归档。
  3. 结果: 服务器将载荷写入目标绝对路径,攻击者随后可触发该文件(如通过 SSH、计划任务、重启等)以获取代码执行权限。

现有信息不足以确定 backup.json 中是否还需要其他字段(如 slug、date 等)来通过校验,但从漏洞描述看,仅 name 字段的控制即可完成路径劫持。


影响评估

利用难度分析(基于 CVSS 向量)

维度 值 含义
AV:N 网络 攻击者可远程利用
AC:L 低复杂度 无需特殊技巧或条件
AT:P 攻击目标存在 需要目标处于初始引导窗口(默认存在)
PR:N 无需权限 完全未认证
UI:N 无需用户交互 自动化攻击可行
VI:H 完整性高 可写入任意内容,严重影响系统完整性
VA:L 可用性低 可能覆盖关键文件导致服务中断,但非核心
SI:H 安全完整性高 可破坏安全配置(如 SSH 密钥、sudoers 等)

综合评估: 该漏洞具有高攻击价值,尤其在云服务或物联网场景中,未及时完成初始化的 Home Assistant 实例暴露在公网上时,极易被批量扫描利用。

潜在后果

  • 任意文件写入 → 可覆盖 Supervisor 配置、SSH 授权密钥、系统服务单元等。
  • 远程代码执行 → 写入 cron 任务、systemd 服务或 web 目录下的可执行脚本。
  • 横向移动 → 若 Home Assistant 与其他内网服务共存,可作为跳板。
  • 持久化后门 → 植入启动脚本或计划任务,使攻击长期控制设备(如智能家居中枢)。

修复建议

官方补丁

  • 升级至 Home Assistant Core 2026.6.0 或更高版本。
    该版本已修复路径拼接逻辑,强制对 name 字段进行规范化处理,拒绝绝对路径或包含 .. 的路径。

临时缓解措施

如果无法立即升级,可采取以下措施:

  1. 禁止外部访问初始引导接口

    • 使用防火墙或反向代理限制对 /api/onboarding/ 等路由的访问,仅在本地网络或 VPN 内完成初始化。
    • 修改 Home Assistant 配置,绑定到 127.0.0.1 而非 0.0.0.0 完成初始化后再改为公网可访问。
  2. 降权运行

    • 避免以 root 用户运行 Home Assistant 进程,降低写入敏感路径的风险。但注意 Home Assistant 的若干功能(如 Supervisor、USB 设备访问)可能需要较高权限,需评估可行性。
  3. 文件系统监控

    • 部署文件完整性监控(FIM)工具或使用 auditd 监控 /config/backups/ 目录及常见敏感路径(如 /etc/、/data/)的写入事件。
  4. 手动检查备份文件

    • 在恢复备份前,手动解包归档并验证 backup.json 中的 name 字段是否只包含合法的相对路径(如 /^[a-zA-Z0-9_-]+$/)。

参考资料


免责声明: 本文档基于公开的 NVD 数据和已知的技术原理进行合理分析,不包含任何未公开的 PoC 或利用细节。建议所有用户尽快升级至安全版本,并遵循最小权限原则部署服务。