
PoC di sola lettura per CVE-2026-65400 — bypass SRP pre-autenticazione di macOS Screen Sharing (screensharingd) che consente la lettura di file come root. Corretto in macOS 26.6.1 / 15.7.9 / 14.8.9.
Proof of concept di sola lettura. Dimostra il bypass dell'autenticazione leggendo un file accessibile solo a root da un host vulnerabile. Non scrive nulla sul target: nessun LaunchDaemon, nessun file di avvio della shell, nessun crontab, nessuna catena RCE.

Eseguito su un Mac di mia proprietà (macOS Tahoe 26.5.2, non aggiornato). Numero di serie oscurato.
screensharingd — il demone alla base di macOS Screen Sharing / Apple Remote Management
(TCP 5900) — può essere indotto a trattare una connessione non autenticata come
autenticata. Nessun nome utente, nessuna password, nessuna interazione sul target.
Il percorso di autenticazione nativo del demone usa SRP (Secure Remote Password). Il suo validatore di lunghezza dei frame restituisce uno stato di successo obsoleto, quindi la connessione viene marcata come autenticata prima che qualsiasi credenziale sia stata provata. Il linguaggio dell'advisory Apple — "improved state management" — corrisponde a questo: la crittografia non è mai stata violata, ma lo è stata la macchina a stati che la circonda.
Superato quel gate, la sessione continua in chiaro e gli helper privilegiati di copia file
(SSFileCopySender / SSFileCopyReceiver) dispongono di Full Disk Access. Ciò produce
lettura e scrittura arbitraria di file come root in pre-autenticazione, bypassando TCC — e da lì,
l'esecuzione remota di codice è a un LaunchDaemon o a un file di avvio della shell di distanza.
Pre-autenticazione. Remoto. Root. Configurazione predefinita, nel momento in cui Screen Sharing è abilitato.
| macOS | Vulnerabile | Corretta (2026-08-06) |
|---|---|---|
| Tahoe 26 | ≤ 26.6 | 26.6.1 |
| Sequoia 15 |
Richiede che Screen Sharing / Remote Management sia abilitato e raggiungibile. Indurire gli account non aiuta — rimuovere utenti, disabilitare la VNC legacy e ruotare le password non fornisce alcuna protezione, perché il bug viene raggiunto prima dell'autenticazione.
Non è teorico. È già oggetto di sfruttamento in ambienti reali.
Attività osservata in natura contro la porta 5900 esposta su internet: chiave pubblica SSH installata per la persistenza, log e cronologia della shell cancellati, regole del packet filter modificate e minatore Monero XMRig 6.26.0 installato.
Python 3, solo libreria standard. Nessuna dipendenza.
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 o un elenco di tipi di
sicurezza senza SRP (36) interrompe il ciclo e segnala l'host come non vulnerabile.Evento Endpoint Security ES_EVENT_TYPE_NOTIFY_SCREENSHARING_ATTACH:
authentication_type: SRP senza componente RSA — le sessioni legittime riportano
RSA-SRP. Questo è l'indicatore con il segnale più alto.root — l'account è disabilitato per impostazione predefinita su macOS.SSFileCopySender in esecuzione con UID/GID 0 80, che accede a percorsi di sistema tramite
_LOOKUP / _OPEN / _STAT / _CLOSE durante una sessione di Screen Sharing.La ricerca non è mia. Questo repository è una riproduzione e un write-up.
Solo per test di sicurezza autorizzati, validazione difensiva e formazione. Eseguilo solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta a testarli. Lo screenshot sopra è un Mac di mia proprietà. Usarlo contro sistemi che non controlli è illegale nella maggior parte delle giurisdizioni. L'autore non si assume alcuna responsabilità per un uso improprio.
Rilasciato solo dopo che la patch del vendor era pubblicamente disponibile e volutamente limitato a una primitiva di lettura.
screensharingd, il demone di Screen Sharing di macOS (TCP 5900), può considerarsi
autenticato senza che nessuno abbia presentato credenziali. Il suo validatore di lunghezza dei
frame nel flusso SRP restituisce uno stato di successo obsoleto, quindi la connessione viene
trattata come autenticata prima del tempo. Apple lo descrive come "improved state
management": la crittografia non è mai stata violata, ma lo è stata la macchina a stati che la circonda.
A partire da lì la sessione continua in chiaro e gli helper privilegiati di copia dei
file (SSFileCopySender / SSFileCopyReceiver) hanno Full Disk Access, il che dà
lettura e scrittura arbitraria come root bypassando TCC — e da lì alla RCE c'è un
LaunchDaemon di distanza. Pre-auth, remoto, root e in configurazione predefinita.
Questo PoC è di sola lettura: dimostra il bypass leggendo un file che solo root può leggere e non scrive nulla sul target.
Cosa fare: aggiornare a 26.6.1 / 15.7.9 / 14.8.9 — è l'unica vera soluzione. Se non puoi, disattiva Screen Sharing. Ruotare le password o eliminare gli account non serve, perché il bug viene raggiunto prima dell'autenticazione. E che il 5900 non sia esposto a Internet.
Usalo solo contro dispositivi di tua proprietà o con autorizzazione scritta.
| ≤ 15.7.8 |
| 15.7.9 |
| Sonoma 14 | ≤ 14.8.8 | 14.8.9 |
| Data | Evento |
|---|
| 2026-07-27 | macOS 26.6 corregge CVE-2026-43760 (confusione di contesto post-autenticazione), interferendo con il percorso pre-autenticazione |
| 2026-07-29 | bynar.io pubblica il write-up sulla 43760; Pedro Vilaça (fG!) divulga il bug pre-autenticazione con un PoC offuscato |
| 2026-08-01/02 | bl4sty fa reverse engineering del PoC, recupera il formato wire, costruisce lettura/scrittura + RCE |
| 2026-08-06 | Apple corregge esplicitamente CVE-2026-65400 |
| 2026-08-14 | CISA rivaluta 7.1 → 9.8 Critical |
| 2026-08-18 | Aggiunto al catalogo CISA KEV |