
PoC только для чтения для CVE-2026-65400 — обход SRP до аутентификации в macOS Screen Sharing (screensharingd), обеспечивающий чтение файлов от имени root. Исправлено в macOS 26.6.1 / 15.7.9 / 14.8.9.
Proof of concept только на чтение. Демонстрирует обход аутентификации, читая файл, доступный только root, на уязвимом хосте. Ничего не записывает в цель: ни LaunchDaemon, ни файла автозапуска оболочки, ни crontab, никакой цепочки RCE.

Запуск на Mac, которым я владею (macOS Tahoe 26.5.2, без патча). Серийный номер скрыт.
screensharingd — демон, отвечающий в macOS за Screen Sharing / Apple Remote Management
(TCP 5900) — можно обманом заставить считать неаутентифицированное соединение
аутентифицированным. Ни имени пользователя, ни пароля, ни какого-либо действия на целевой машине.
Встроенный путь аутентификации демона использует SRP (Secure Remote Password). Его валидатор длины кадра возвращает устаревший статус успеха, поэтому соединение помечается как аутентифицированное до того, как какое-либо учётное данное было доказано. Формулировка Apple — "improved state management" — соответствует этому: криптография не была взломана, была сломана машина состояний вокруг неё.
Пройдя этот барьер, сессия продолжается в открытом виде, а привилегированные помощники
копирования файлов (SSFileCopySender / SSFileCopyReceiver) обладают Full Disk Access. Это даёт
произвольное чтение и запись файлов как root до аутентификации, в обход TCC — а оттуда
до удалённого выполнения кода один шаг: LaunchDaemon или файл автозапуска оболочки.
Без аутентификации. Удалённо. Root. Конфигурация по умолчанию, как только включён Screen Sharing.
| macOS | Уязвимые | Исправлено (2026-08-06) |
|---|---|---|
| Tahoe 26 | ≤ 26.6 | 26.6.1 |
| Sequoia 15 |
Требуется, чтобы Screen Sharing / Remote Management был включён и доступен. Усиление защиты учётных записей не помогает — удаление пользователей, отключение устаревшего VNC и смена паролей не дают никакой защиты, потому что ошибка достигается до аутентификации.
Это не теория. Уязвимость активно эксплуатируется в дикой природе.
Наблюдаемая активность в дикой природе против открытого в интернет порта 5900: добавлен SSH-ключ для персистентности, очищены логи и история оболочки, изменены правила пакетного фильтра, а также развёрнут XMRig 6.26.0 — майнер Monero.
Python 3, только стандартная библиотека. Без зависимостей.
python3 poc_screensharing.py <IP> # читает /etc/sudoers
python3 poc_screensharing.py <IP> /etc/passwd
python3 poc_screensharing.py <IP> /etc/master.passwd -r 50
-p, --port порт назначения (по умолчанию 5900)
-u, --user имя пользователя в SRP step-1 кадре (по умолчанию root)
-r, --retries количество повторов (по умолчанию 25) — ошибка зависит от состояния кучи
-t, --timeout таймаут сокета в секундах (по умолчанию 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 во время сессии Screen Sharing.Исследование не моё. Этот репозиторий — воспроизведение и описание.
Только для авторизованного тестирования безопасности, защитной валидации и обучения. Запускайте только против систем, которыми вы владеете или на тест которых у вас есть явное письменное разрешение. Скриншот выше сделан на Mac, которым я владею. Использование против систем, которыми вы не управляете, незаконно в большинстве юрисдикций. Автор не несёт ответственности за неправомерное использование.
Опубликовано только после того, как патч вендора стал публично доступен, и намеренно ограничено примитивом чтения.
screensharingd, el demonio de Compartir Pantalla de macOS (TCP 5900), puede darse
por autenticado sin que nadie haya presentado credenciales. Su validador de longitud de
frame en el flujo SRP devuelve un estado de éxito obsoleto, así que la conexión se
trata como autenticada antes de tiempo. Apple lo describe como "improved state
management": la criptografía nunca se rompió, se rompió la máquina de estados que la rodea.
A partir de ahí la sesión continúa en claro y los helpers privilegiados de copia de
ficheros (SSFileCopySender / SSFileCopyReceiver) tienen Full Disk Access, lo que da
lectura y escritura arbitraria como root saltándose TCC — y de ahí a RCE hay un
LaunchDaemon de distancia. Pre-auth, remoto, root y en configuración por defecto.
Este PoC es de solo lectura: demuestra el bypass leyendo un fichero que solo root puede leer y no escribe nada en el objetivo.
Qué hacer: actualizar a 26.6.1 / 15.7.9 / 14.8.9 — es el único arreglo real. Si no puedes, desactiva Compartir Pantalla. Rotar contraseñas o eliminar cuentas no sirve, porque el fallo se alcanza antes de la autenticación. Y que el 5900 no esté expuesto a Internet.
Úsalo solo contra equipos de tu propiedad o con autorización por escrito.
| ≤ 15.7.8 |
| 15.7.9 |
| Sonoma 14 | ≤ 14.8.8 | 14.8.9 |
| Дата | Событие |
|---|
| 2026-07-27 | macOS 26.6 закрывает CVE-2026-43760 (post-auth confused-context), затрагивая путь до аутентификации |
| 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 |