
PoC en lecture seule pour CVE-2026-65400 — bypass SRP pré-auth de macOS Screen Sharing (screensharingd) permettant la lecture de fichiers en root. Corrigé dans macOS 26.6.1 / 15.7.9 / 14.8.9.
Preuve de concept en lecture seule. Elle démontre le contournement de l'authentification en lisant un fichier réservé à root sur un hôte vulnérable. Elle n'écrit rien sur la cible : pas de LaunchDaemon, pas de fichier de démarrage du shell, pas de crontab, pas de chaîne RCE.

Exécuté contre un Mac qui m'appartient (macOS Tahoe 26.5.2, non corrigé). Numéro de série masqué.
screensharingd — le démon derrière Partage d'écran / Gestion à distance Apple de macOS
(TCP 5900) — peut être piégé pour traiter une connexion non authentifiée comme
authentifiée. Pas de nom d'utilisateur, pas de mot de passe, aucune interaction sur la cible.
Le chemin d'authentification natif du démon utilise SRP (Secure Remote Password). Son validateur de longueur de trame renvoie un statut de succès périmé, si bien que la connexion est marquée comme authentifiée avant qu'une quelconque information d'identification ait été prouvée. Le langage de l'avis Apple — « improved state management » — correspond à cela : la cryptographie n'a jamais été cassée, c'est la machine à états qui l'entoure qui l'a été.
Une fois cette barrière franchie, la session se poursuit en clair et les assistants privilégiés de copie
de fichiers (SSFileCopySender / SSFileCopyReceiver) disposent de l'accès complet au disque (Full Disk Access).
Cela donne une lecture et une écriture arbitraires de fichiers en tant que root avant l'authentification,
en contournant TCC — et de là, l'exécution de code à distance n'est qu'à un LaunchDaemon ou un fichier
de démarrage du shell.
Pré-auth. À distance. Root. Configuration par défaut, dès que le Partage d'écran est activé.
| macOS | Vulnérable | Corrigé (2026-08-06) |
|---|---|---|
| Tahoe 26 | ≤ 26.6 | 26.6.1 |
| Sequoia 15 |
Nécessite que le Partage d'écran / la Gestion à distance soient activés et accessibles. Durcir les comptes ne sert à rien — la suppression d'utilisateurs, la désactivation de la VNC héritée et la rotation des mots de passe n'offrent aucune protection, car le bug est atteint avant l'authentification.
Ce n'est pas théorique. La vulnérabilité est exploitée dans la nature.
Une activité in-the-wild a été observée contre le port 5900 exposé sur Internet : clé publique SSH déposée pour la persistance, journaux et historique du shell effacés, règles du filtre de paquets modifiées, et déploiement du mineur Monero XMRig 6.26.0.
Python 3, uniquement la bibliothèque standard. Aucune dépendance.
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 ou une liste
de types de sécurité sans SRP (36) arrête la boucle et signale l'hôte comme non vulnérable.Événement Endpoint Security ES_EVENT_TYPE_NOTIFY_SCREENSHARING_ATTACH :
authentication_type: SRP sans composant RSA — les sessions légitimes signalent
RSA-SRP. C'est l'indicateur au signal le plus fort.root — le compte est désactivé par défaut sur macOS.SSFileCopySender exécuté avec l'UID/GID 0 80, touchant aux chemins système via
_LOOKUP / _OPEN / _STAT / _CLOSE pendant une session de Partage d'écran.La recherche n'est pas de moi. Ce dépôt est une reproduction et une analyse écrite.
Uniquement pour des tests de sécurité autorisés, une validation défensive et un usage pédagogique. Exécutez-le contre des systèmes que vous possédez ou pour lesquels vous détenez une autorisation écrite explicite de test. La capture d'écran ci-dessus est un Mac qui m'appartient. Utiliser cet outil contre des systèmes que vous ne contrôlez pas est illégal dans la plupart des juridictions. L'auteur décline toute responsabilité en cas de mauvaise utilisation.
Publié uniquement après la disponibilité publique du correctif du fournisseur, et délibérément limité à une primitive de lecture.
screensharingd, le démon du Partage d'écran de macOS (TCP 5900), peut se considérer
authentifié sans que personne n'ait présenté d'identifiants. Son validateur de longueur de
trame dans le flux SRP renvoie un état de succès obsolète, si bien que la connexion est
traitée comme authentifiée avant l'heure. Apple le décrit comme « improved state
management » : la cryptographie n'a jamais été cassée, c'est la machine à états qui l'entoure qui l'a été.
À partir de là, la session se poursuit en clair et les assistants privilégiés de copie de
fichiers (SSFileCopySender / SSFileCopyReceiver) disposent de l'accès complet au disque (Full Disk Access), ce qui
permet une lecture et une écriture arbitraires en tant que root en contournant TCC — et de là, un
LaunchDaemon suffit pour arriver au RCE. Pré-auth, à distance, root et en configuration par défaut.
Ce PoC est en lecture seule : il démontre le contournement en lisant un fichier que seul root peut lire et n'écrit rien sur la cible.
Que faire : mettre à jour vers 26.6.1 / 15.7.9 / 14.8.9 — c'est la seule vraie solution. Si vous ne pouvez pas, désactivez le Partage d'écran. La rotation des mots de passe ou la suppression de comptes ne sert à rien, car le défaut est atteint avant l'authentification. Et veillez à ce que le port 5900 ne soit pas exposé sur Internet.
Utilisez-le uniquement contre des équipements qui vous appartiennent ou avec une autorisation écrite.
| ≤ 15.7.8 |
| 15.7.9 |
| Sonoma 14 | ≤ 14.8.8 | 14.8.9 |
| Date | Événement |
|---|
| 2026-07-27 | macOS 26.6 corrige CVE-2026-43760 (contexte confus post-authentification), perturbant le chemin pré-auth |
| 2026-07-29 | bynar.io publie l'analyse de la 43760 ; Pedro Vilaça (fG!) divulgue le bug pré-auth avec un PoC obscurci |
| 2026-08-01/02 | bl4sty fait la rétro-ingénierie du PoC, retrouve le format du protocole, construit lecture/écriture + RCE |
| 2026-08-06 | Apple corrige explicitement CVE-2026-65400 |
| 2026-08-14 | CISA réévalue 7.1 → 9.8 Critique |
| 2026-08-18 | Ajouté au catalogue CISA KEV |