只读概念验证。 它通过从易受攻击主机读取一个仅 root 可读的文件来演示认证绕过。 它不会向目标写入任何内容:不写入 LaunchDaemon、不写入 shell 启动文件、不写入 crontab、 不包含 RCE 利用链。

在本人自有的一台 Mac(macOS Tahoe 26.5.2,未打补丁)上运行。序列号已打码。
screensharingd —— 驱动 macOS 屏幕共享 / Apple 远程管理(TCP 5900)的守护进程 ——
可被诱骗将未认证的连接视为已认证。无需用户名、无需密码、目标上无需任何交互。
该守护进程的原生认证路径使用 SRP(安全远程密码)。其帧长度校验器会返回一个 过期的成功状态,因此在任何凭据得到验证之前,连接就被标记为已认证。Apple 公告中的 措辞 —— "改进了状态管理" —— 与此吻合:密码学从未被攻破,被攻破的是 围绕它的状态机。
一旦越过这道关口,会话便以明文继续,而特权文件复制辅助程序
(SSFileCopySender / SSFileCopyReceiver)拥有完全磁盘访问权限(Full Disk Access)。
由此可实现预认证的以 root 身份任意读写文件,绕过 TCC —— 继而,
离远程代码执行只差一个 LaunchDaemon 或 shell 启动文件。
预认证。远程。Root。默认配置 —— 只要启用屏幕共享即可触发。
| macOS | 受影响版本 | 修复版本(2026-08-06) |
|---|---|---|
| Tahoe 26 | ≤ 26.6 | 26.6.1 |
| Sequoia 15 | ≤ 15.7.8 |
前提是屏幕共享 / 远程管理已启用且可被访问。加固账户无济于事 —— 删除用户、 禁用旧版 VNC 和轮换密码无法提供任何保护,因为该漏洞在认证之前就会被触达。
这不是理论推演。它正在野外被积极利用。
已观察到针对暴露于互联网的 5900 端口的在野攻击活动:投放 SSH 公钥以维持持久化、 清除日志和 shell 历史记录、修改数据包过滤规则,并部署了 XMRig 6.26.0 Monero 挖矿程序。
仅需 Python 3 标准库,无任何依赖。
python3 poc_screensharing.py <IP> # reads /etc/sudoers
python3 poc_screensharing.py <IP> /etc/passwd
python3 poc_screensharing.py <IP> /etc/master.passwd -r 50
-p, --port target port (default 5900)
-u, --user username sent in the SRP step-1 frame (default root)
-r, --retries retry count (default 25) — the bug is heap-racy
-t, --timeout socket timeout in seconds (default 8.0)
SecurityResult != 0,或者安全类型
列表中不含 SRP(36),循环会停止,并将该主机报告为不受影响。Endpoint Security 事件 ES_EVENT_TYPE_NOTIFY_SCREENSHARING_ATTACH:
authentication_type: SRP 且不包含 RSA 组件 —— 合法会话会报告 RSA-SRP。
这是信号最强的指标。root —— 该账户在 macOS 上默认处于禁用状态。SSFileCopySender 以 UID/GID 0 80 运行,并在屏幕共享会话期间通过
_LOOKUP / _OPEN / _STAT / _CLOSE 访问系统路径。该研究并非我的成果。本仓库是对该漏洞的复现与分析文章。
仅用于授权的安全测试、防御性验证和教育目的。请仅在您拥有、或已获得明确书面授权 测试的系统上运行。上面的截图是我自己的一台 Mac。在大多数司法管辖区, 将其用于您无权控制的系统属于违法行为。作者对滥用行为不承担任何责任。
该工具仅在厂商补丁公开可用之后才发布,并刻意仅限读取原语。
screensharingd,macOS 屏幕共享的守护进程(TCP 5900),可以在没有任何人提交
凭据的情况下被认定为已认证。它在 SRP 流程中的帧长度校验器会返回一个过期的成功
状态,因此连接被过早地视为已认证。Apple 将其描述为 "improved state management":
密码学从未被攻破,被攻破的是围绕它的状态机。
此后,会话以明文继续,特权文件复制辅助程序(SSFileCopySender / SSFileCopyReceiver)
拥有完全磁盘访问权限(Full Disk Access),从而可以绕过 TCC 进行以 root 身份
任意读写 —— 而离 RCE 只差一个 LaunchDaemon。预认证、远程、root、默认配置。
此 PoC 为只读:它通过读取一个仅 root 可读的文件来演示绕过,不会向目标写入任何内容。
该怎么做: 更新到 26.6.1 / 15.7.9 / 14.8.9 —— 这是唯一真正的修复。如果无法更新, 请禁用屏幕共享。轮换密码或删除账户没有用,因为该漏洞在认证之前就会被触达。 并且不要让 5900 端口暴露到互联网。
仅可用于您自己的设备或已获得书面授权的设备。
| 15.7.9 |
| Sonoma 14 | ≤ 14.8.8 | 14.8.9 |
| 日期 | 事件 |
|---|
| 2026-07-27 | macOS 26.6 修补 CVE-2026-43760(认证后的上下文混淆),扰动了预认证路径 |
| 2026-07-29 | bynar.io 发布 43760 的分析文章;Pedro Vilaça(fG!)以混淆的 PoC 披露预认证漏洞 |
| 2026-08-01/02 | bl4sty 逆向 PoC,还原线上格式,构建读写 + RCE |
| 2026-08-06 | Apple 明确修补 CVE-2026-65400 |
| 2026-08-14 | CISA 将评分从 7.1 调整为 9.8 严重(Critical) |
| 2026-08-18 | 被添加至 CISA KEV 目录 |