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

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

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

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

工具目录

分类

查看所有分类
Loading categories
autofs-cve-2026-84568 — 针对 CVE-2026-84568 的逆向工程笔记和可用 PoC,该漏洞是 macOS automountd 的信任边界违规,允许来自 localhost 或受害者自身主机名的挂载。 | Kitploit
工具/GitHubGitHub/jvidhan/autofs-cve-2026-84568
漏洞分析漏洞利用逆向工程渗透测试二进制分析论文与研究学习与教育
GitHubjvidhan/autofs-cve-2026-84568

autofs-cve-2026-84568

针对 CVE-2026-84568 的逆向工程笔记和可用 PoC,该漏洞是 macOS automountd 的信任边界违规,允许来自 localhost 或受害者自身主机名的挂载。

查看仓库
10小时16分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-84568 — 逆向工程笔记与复现

针对 CVE-2026-84568 的 macOS autofs 补丁的独立逆向工程, 以及一个可用的 PoC,用于复现信任边界违规。

Apple 发布了安全公告。Mr.Gedik(@h4ck2s3c)报告了该漏洞。本 仓库记录了技术机制——被修补的函数、该检查的作用,以及补丁 阻止了哪些挂载路径——并包含一个可用的 PoC,可在存在漏洞的 系统上复现信任违规。


CVE 概览

字段值
CVECVE-2026-84568
组件autofs / automountd
受影响macOS Tahoe 26.6 及更早版本
修补于macOS Tahoe 26.7、macOS Golden Gate 27、macOS Sequoia 15.8
公告影响“控制网络目录服务器的攻击者可能能够以 root 权限执行任意代码。”
报告者Turkish Technology 的 Mr.Gedik(@h4ck2s3c)

为什么会有这份分析

Apple 针对 CVE-2026-84568 的公告记录了影响和补丁版本。它 没有记录技术机制:

  • 哪个函数被修补
  • 该检查实际做了什么
  • 为什么公告中描述的 RCE 无法通过此处测试的路径触达

在撰写本文时,未找到公开的技术分析。本仓库通过 对 automountd_26.6 和 automountd_27 的独立逆向工程 分析,以及针对底层信任边界违规的可用 PoC,填补了这一空白。

这不是发现声明。 该 CVE 由 Mr.Gedik 报告,并由 Apple 修补。此处的贡献是技术分析和复现。


漏洞摘要

automountd 从配置的目录服务(LDAP、NIS、OpenDirectory)获取 automount 映射。在存在漏洞的版本(26.6 及更早版本)中, automountd 没有验证映射条目的主机组件是否解析到本地 机器。

因此,恶意目录服务器可以提供这样一个映射条目,其挂载源为:

  • 字面字符串 localhost
  • 受害者自己的主机名(<hostname>.local)
  • 任何本地 IP 地址,包括 127.0.0.1

受害者随后会在攻击者控制的挂载点上从自身挂载。

修补后的版本(26.7 / 27)在 sym.func.100005bd8 中添加了 主机名检查,会拒绝匹配上述任一情况的条目。


本仓库包含的内容

逆向工程

  • automountd_26.6 与 automountd_27 之间 sym.func.100005bd8 的反汇编差异——见 docs/PATCH_DIFF.md
  • 被修补检查的识别: 针对 "localhost"、gethostname()、 SCDynamicStoreCopyLocalHostName + ".local" 的 strncasecmp, 以及一个枚举所有本地 IP 的 getifaddrs / getipnodebyaddr 循环
  • fstype 字段的追踪,经过 parse_nfs → mapline_to_mapent → —— 在构造程序路径之前,该字段未被验证

完整分析见 docs/ANALYSIS.md,地址和日志样本见 docs/ARTIFACTS.md。

复现

  • poc.sh——单文件攻击者侧设置。启动一个带有恶意 auto_master / auto_evil 映射的 LDAP 服务器,以及一个带有 访问证明标记的 NFS 导出。当受害者的 automountd 获取该映射时, 它会将自己的 NFS 导出挂载到攻击者控制的路径。

本 PoC 演示了什么

  • 一个提供精心构造的 auto_master / auto_evil 映射的恶意 LDAP 服务器
  • 受害者的 automountd 通过网络获取该映射
  • 受害者将自己的 NFS 导出挂载到攻击者控制的路径
  • 内核挂载表中的挂载源为 127.0.0.1

本 PoC 没有演示什么

  • 任意代码执行
  • 权限提升
  • 在受害者上获得 shell

Apple 公告中“以 root 权限执行任意代码”的影响无法通过本分析中 测试的路径触达。完整列表见 docs/ANALYSIS.md 中的“已测试并排除的路径”一节。

所演示的影响是信任边界违规本身:受害者从一个本应被拒绝的 源进行挂载。


仓库布局

root@kitploit:~
poc.sh              攻击者侧设置(单文件)
docs/
  ANALYSIS.md       完整逆向工程分析
  PATCH_DIFF.md     26.6 与 27 之间 sym.func.100005bd8 的差异
  ARTIFACTS.md      地址和日志样本
README.md           本文件
LICENSE

四个文件,两个目录。没有其他内容。


要求

攻击者主机(macOS)

  • Homebrew
  • OpenLDAP(brew install openldap)
  • slapd.conf 定义:database mdb,suffix "dc=evil,dc=local"
  • NFS 服务器(nfsd)——macOS 自带
  • Root 访问权限(用于 slapd、nfsd、/etc/exports)

受害者主机

  • macOS 26.6 或更早版本(存在漏洞的 automountd)
  • 配置为向攻击者的 LDAP 服务器查询 automount 映射
  • /etc/auto_master 中存在 +auto_master
  • 受害者上运行 nfsd,导出一个目录

受害者需要运行 NFS 服务器才能使挂载成功。该 CVE 涉及的是对 本地主机条目的接受,而不是传递导出。如果受害者未运行 nfsd, 挂载会失败并显示 NFS server 127.0.0.1 not responding——这仍然 表明 automountd 接受了该条目。


用法

攻击者

root@kitploit:~
./poc.sh <ATTACKER_IP>

将 <ATTACKER_IP> 替换为从受害者视角看到的攻击者 IP。

受害者

root@kitploit:~
sudo automount -vc
ls /System/Volumes/Data/mnt/evil/evil/
cat /System/Volumes/Data/mnt/evil/evil/proof.txt

预期结果

文件 proof.txt 可通过该挂载读取。mount 输出中的挂载源为 127.0.0.1:<export_dir>:

root@kitploit:~
127.0.0.1:/tmp/nfsroot on /System/Volumes/Data/mnt/evil/evil (nfs, nodev, nosuid, automounted, nobrowse)

nodev 和 nosuid 的存在反映了内核的 NFS 挂载默认值以及 mount_nfs 自身的选项处理——它们并非来自 automountd。完整 分解见 docs/ANALYSIS.md。


补丁验证

在已修补的系统(26.7 / 27)上,相同的映射条目会在任何挂载尝试 之前被拒绝。sym.func.100005bd8 的反汇编比较见 docs/PATCH_DIFF.md。

要在已修补的主机上确认:

root@kitploit:~
# 提供相同的映射条目,然后在已修补的受害者上:
sudo automount -vc
ls /System/Volumes/Data/mnt/evil/evil/

预期:挂载点未被创建,且 mount 输出中没有出现任何条目。 当主机为 127.0.0.1、localhost 或本地主机名时, sym.func.100005bd8 检查会拒绝该条目。


fstype 注入(单独发现)

在分析过程中,发现了一个单独的纵深防御弱点: sym.func.1000086f4(run_mount_cmd)通过 asprintf("%s/mount_%s", "/sbin", fstype) 构造程序路径, 而没有验证来自映射条目的 fstype 字段。

fstype 中的路径遍历序列会到达 asprintf 调用:

root@kitploit:~
automountd: Can't stat mount program /sbin/mount_../../../../../../tmp/evil_prog: No such file or directory

在标准 macOS 安装上,生成的路径不会解析为可执行文件,因为 /sbin/mount_.. 不存在。该注入是真实存在的,但被路径解析所 阻止。只有当 /sbin 下存在可写路径,或者创建了目录符号链接 mount_<X> 时,它才会变得可利用——而这两者在标准 macOS 上 都不成立。

这被记录为单独的观察结果,不属于 CVE-2026-84568 的一部分。 详情见 docs/ANALYSIS.md。


致谢

  • 原始发现: Turkish Technology 的 Mr.Gedik(@h4ck2s3c), 依据 Apple 针对 CVE-2026-84568 的安全公告。
  • 独立分析和 PoC: jvidhan
  • 参考: Apple 的公告和已修补的二进制文件作为与存在漏洞 版本进行比较的基线。

免责声明

本仓库仅供防御性安全研究和教育使用。

  • 它旨在用于您拥有或已获得明确书面许可进行测试的系统。
  • 对您不拥有或控制的系统使用此工具可能违反当地、国家或 国际法律。
  • 作者对由此代码引起的任何误用或损害不承担任何责任或 义务。
  • 该 PoC 仅限于演示挂载信任违规。它无法实现代码执行。 任何声称此 PoC 可实现 RCE 的说法均不受所包含分析的支持。
  • Apple、macOS、autofs 和 automountd 是 Apple Inc. 的商标。 本项目与 Apple 无关联,也未获得其认可。

许可证

MIT。见 LICENSE。

下载工具
asprintf("%s/mount_%s", "/sbin", fstype)
  • webdavfs_agent 的 XML 解析器的 SAX 回调分析—— characters 回调使用带显式长度检查的 __memcpy_chk;没有溢出
  • od_process_record_attributes 的分析——OpenDirectory 记录解析器全程使用 CoreFoundation API;没有固定大小的缓冲区
  • 挂载程序审计——检查了 mount_nfs、mount_smbfs、mount_url 以及所有 NetFSPlugins/* bundle 是否存在 shell 执行;均未发现