🔍 Contexte

PubliĂ© le 29 juillet 2026 par Alfredo Pesoli sur le blog de Bynario (bynar.io), cet article prĂ©sente une analyse technique dĂ©taillĂ©e d’une vulnĂ©rabilitĂ© dĂ©couverte dans le service Screen Sharing de macOS, affectant les systĂšmes Ă©quipĂ©s de puces Apple Silicon (M4 et M5), testĂ©s sous macOS 26.5.2 avec SIP activĂ©.

🐛 Nature de la vulnĂ©rabilitĂ©

La vulnĂ©rabilitĂ© CVE-2026-43760 est une faille logique d’autorisation (confused deputy) dans le service screensharingd et ses helpers SSFileCopySender et SSFileCopyReceiver. Elle n’implique aucune corruption mĂ©moire, buffer overflow, use-after-free, ROP chain ou bypass de PAC/MIE.

Le problĂšme rĂ©side dans la coexistence de deux chemins d’authentification dans Screen Sharing :

  • Chemin natif Apple : rĂ©sout un utilisateur macOS avec UID/GID propres → les helpers s’exĂ©cutent sous l’identitĂ© de l’utilisateur authentifiĂ©.
  • Chemin VNC legacy (RFB security type 2) : authentifie uniquement par mot de passe VNC, sans identitĂ© macOS → les helpers conservent les droits root (uid=0, gid=80).

⚠ Deux primitives exploitables

Direction Helper Impact
Mac → Viewer SSFileCopySender Lecture de fichiers protĂ©gĂ©s en tant que root (ex: /etc/sudoers)
Viewer → Mac SSFileCopyReceiver CrĂ©ation de fichiers arbitraires en tant que root avec mode contrĂŽlĂ©

Bug #1 : Via StartFileSend, un viewer VNC peut demander l’envoi de n’importe quel fichier protĂ©gĂ© (ex: /etc/sudoers), qui est lu et transmis par le helper tournant en uid=0.

Bug #2 : Via StartFileReceive, un viewer VNC peut créer un fichier arbitraire avec destination, nom, mode et contenu entiÚrement contrÎlés, exécuté en uid=0.

đŸ’„ ChaĂźne d’exploitation vers RCE root

  1. Authentification VNC (mot de passe VNC connu)
  2. Envoi d’un fichier via SSFileCopyReceiver vers /private/etc/sudoers.d/99-screensharing-filecopy-proof (owner: root:wheel, mode: 0440)
  3. La rĂšgle sudoers valide permet Ă  un utilisateur non-admin d’exĂ©cuter sudo -n /bin/bash → shell root
  4. DĂ©monstration end-to-end : Ă©criture d’un script callback + ouverture de Terminal via la session Screen Sharing GUI → shell root interactif distant
  5. Variante : placement d’un LaunchAgent pour dĂ©clenchement au prochain login utilisateur

đŸ›Ąïž Conditions prĂ©alables

  • Screen Sharing ou Remote Management activĂ©
  • Option “VNC viewers may control screen with password” configurĂ©e
  • Connaissance du mot de passe VNC

📊 Scoring CVSS

  • Apple : CVSS 3.1 base score 5.5 — description : “An app may be able to access user-sensitive data”
  • Bynario (conservateur) : 8.0 High — CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
  • Bynario (session active) : 8.8 High — CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

🔧 Correctifs

  • CorrigĂ© dans macOS Tahoe 26.6 (27 juillet 2026) et macOS Sonoma 14.8.8
  • Mitigation immĂ©diate : dĂ©sactiver “VNC viewers may control screen with password”

đŸ€– MĂ©thode de dĂ©couverte

La vulnĂ©rabilitĂ© a Ă©tĂ© dĂ©couverte via un workflow automatisĂ© utilisant GPT-5.5 pour la dĂ©couverte et la validation diffĂ©rentielle (signal sĂ©mantique : mĂȘme opĂ©ration → uid=502 sous auth native, uid=0 sous VNC legacy), via l’outil Bynario Atlas.

📄 Type d’article

Analyse technique approfondie et publication de recherche en vulnérabilité, visant à documenter une faille logique originale dans macOS, contester le scoring officiel Apple, et promouvoir la plateforme de découverte automatisée Bynario Atlas.

🧠 TTPs et IOCs dĂ©tectĂ©s

TTP

  • T1021.005 — Remote Services: VNC (Lateral Movement)
  • T1548.003 — Abuse Elevation Control Mechanism: Sudo and Sudo Caching (Privilege Escalation)
  • T1083 — File and Directory Discovery (Discovery)
  • T1005 — Data from Local System (Collection)
  • T1222 — File and Directory Permissions Modification (Defense Evasion)
  • T1543.001 — Create or Modify System Process: Launch Agent (Persistence)
  • T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)

IOC

  • CVEs : CVE-2026-43760 — NVD · CIRCL
  • Fichiers : 99-screensharing-filecopy-proof
  • Chemins : /private/etc/sudoers.d/99-screensharing-filecopy-proof
  • Chemins : /private/tmp/screensharing-filecopy-root-callback
  • Chemins : /etc/sudoers

⚠ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 19 aoĂ»t 2026 et n’ont pas fait l’objet d’une vĂ©rification externe. Un indicateur peut avoir Ă©tĂ© rĂ©attribuĂ© depuis : une IP de C2 peut redevenir un service lĂ©gitime, un domaine sinkholĂ© peut changer de propriĂ©taire. Aucune garantie d’exactitude ni d’actualitĂ© — contrĂŽlez leur validitĂ© avant tout usage opĂ©rationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.


🟡 Indice de vĂ©rification factuelle : 55/100 (moyenne)

  • ⬜ bynar.io — source non rĂ©fĂ©rencĂ©e (0pts)
  • ✅ 16631 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 5 IOCs (IPs/domaines/CVEs) (10pts)
  • ⬜ pas d’IOC vĂ©rifiĂ© (0pts)
  • ✅ 7 TTPs MITRE identifiĂ©es (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommĂ© (0pts)
  • ✅ 1/1 CVE(s) confirmĂ©e(s) (CIRCL) (5pts)

🔗 Source originale : https://bynar.io/blog/a-root-remote-command-execution-on-macos-with-m5-in-2026