Ecco perché il Jailbreak di Pangu non può funzionare su iOS 8 Beta!

Come ormai tutti sappiamo, da un po’ di giorni il team cinese “Pangu-Team” ha resto pubblico il suo tool di Jailbreak per iOS 7.1 e 7.1.1.
Considerando il fatto che al momento del suo rilascio, era già disponibile l’ultima beta di iOS 8, la beta numero 2, molti hanno pensato che questo tool, con leggeri modifiche, potesse essere compatibile anche con questa versione di sistema.
La risposta purtroppo è no e vi spiego volentieri il perché.

Insieme ad alcuni amici, ho analizzato e decompilato Pangu, in modo da capire come fa (e quali exploit sfrutta) per eseguire il Jailbreak di iOS 7.1.1.
Dopo aver scritto un writeup ed aver riordinato le idee, ho provato a portare questi exploit su iOS 8 e, sfortunatamente, l’exploit principale (quello che inietta l’applicazione Pangu dal dispositivo quando viene aperta), è stato chiuso in iOS 8 sin dalla prima beta.
Per i più curiosi, si trattava di un bug di sistema che permetteva di estrarre degli archivi “zip” nella cartella “/var” del dispositivo e Pangu lo ha sfruttato per inviare dei files fondamentali per l’installazione di Cydia e per l’esecuzione di codice non firmato. Questo exploit si esegue creando un collegamento in “/tmp” chiamato “foo_extracted” che punta in “/var”. Quando su iOS viene estratto un archivio, il suo contenuto va a finire in “/tmp/foo_extracted”, ma siccome noi lo abbiamo reso un collegamento, in questo caso va a finire in “/var”.
Tutto ciò è possibile su iOS 7.1.1, in quanto Apple permette alle applicazioni di accedere a “/tmp” e di conseguenza, anche di creare collegamenti in essa. Su iOS 8 Beta invece, l’accesso a questa directory è negato, dunque le applicazioni non possono accedervi.
Per averne la conferma, ho preso due iPod Touch di quinta generazione, uno su iOS 7.1.1 e l’altro su iOS 8 Beta (entrambi senza Jailbreak).

Con dei certificati da sviluppatore, ho installato su entrambi un file manager, applicazione che mi consente di “girovagare” tra le cartelle di iOS e il risultato ha confermato questo mio sospetto.
Quando ho aperto “/tmp” sull’iPod con iOS 7.1.1, ero in grado di vedere (e modificare!) tutti i files che conteneva, mentre su iOS 8 Beta, la cartella sembrava vuota, in quanto i files erano nascosti e non avevo il permesso né di vederli, né di modificarli.

infine, come ciliegina sulla torta, apro Twitter e trovo questo bel tweet di Hamza Sood:

Anche lui ha fatto la mia stessa scoperta. Per un exploit di meno quindi, il Jailbreak di Pangu non può funzionare su iOS 8 beta, a meno che non si riesca a trovare un altro modo per estrarre i files in “/var”.
Personalmente dubito fortemente che si riesca a trovare un altro modo per fare questo, in quanto la cartella “/tmp” è l’unica a trovarsi nella root, ma allo stesso tempo di essere nella partizione “disk0s1s2″, quindi con i permessi di lettura e scrittura.

Voi cosa ne pensate?