Il kernel Exploit scoperto e rilasciato dal developer TheFlow può essere eseguito fino al firmware 7.02 della PlayStation 4 e PlayStation 4 Pro, ma per poter funzionare correttamente necessita di un secondo exploit nel webkit, exploit che fino ad oggi si è reso disponibile solo fino al firmware 6.72.
Lo scenario però potrebbe cambiare molto presto, in quanto è stato scovato un nuovo exploit nel webkit all’interno del browser Safari di MacOSX dove una pagina web HTML appositamente predisposta potrebbe causare una condizione di utilizzo use-after-free
, con conseguente esecuzione di codice in modalità remota.
Le vulnerabilità use-after-free sono molto difficili da individuare durante la revisione manuale del codice poiché richiedono la conoscenza del modello di allocazione e deallocazione che si verifica durante l’esecuzione di un programma
La vulnerabilità è temporanea, che esiste solo in determinati momenti nel tempo in cui si presenta il puntatore obsoleto.
La vulnerabilità use-after-free si verifica quando un puntatore a un oggetto che è stato liberato viene rinviato.
Ciò può causare la perdita di informazioni, ma l’autore dell’attacco potrebbe anche modificare le posizioni di memoria involontarie che potenzialmente possono portare all’esecuzione di codice.
La vulnerabilità in questione è la CVE-2020-9951 (visitare il sito web per tutti i dettagli tecnici, sotto vengono riportati solo alcuni passaggi).
WebCore è il sistema di rendering DOM per Webkit utilizzato nel browser web Safari. La vulnerabilità è correlata alla variabile staticBlankURL
e al modo in cui viene gestita durante il ricaricamento del documento.
Una pagina Web dannosa può attivare una situazione di race condition che può causare una vulnerabilità priva di utilizzo e l’esecuzione di codice in modalità remota.
Tracciando il ciclo di vita di un oggetto staticBlankURL
possiamo andare a vedere che c’è un’allocazione fatta dal thread T0
– all’interno di aboutBlankURL
.
Inoltre, un oggetto Worker
viene creato tramite callWorker
(e allo stesso modo un thread separato T58
) e dopo che il suo codice è stato eseguito l’oggetto staticBlankURL
viene deallocato.
Continua “Simultaneamente” l’esecuzione del thread T0 che nel risultato finale porta ad un oggetto use-after-free di staticBlankURL
.
La vulnerabilità è facilmente attivabile su una build “–asan –release” ma non siamo riusciti a riprodurla sulla versione “–asan –debug”, il che suggerisce che la vulnerabilità può essere correlata ad alcune impostazioni dei flag interni o all’ottimizzazione del compilatore.
Una corretta pulizia dell’heap può dare a un utente malintenzionato il pieno controllo di questa vulnerabilità priva di utilizzo e, di conseguenza, potrebbe consentirne la trasformazione in un’esecuzione arbitraria di codice.
Fonte: twitter.com
Cosa centra MacOSX con l’exploit della PS4?
Il browser Safari del sistema operativo MacOSX utilizza lo stesso motore di rendering (webkit) del browser della PlayStation 4