Se colleghi un iPhone ad una rete wireless con un nome particolare e specifico, il dispositivo non potrà più connettersi al Wi-Fi in futuro.
Con un post pubblicato su Twitter, Carl Schou ha dimostrato che, dopo aver collegato il suo iPhone ad una rete Wi-Fi con un nome specifico (“%p%s%s%s%s%n”), tutte le funzionalità Wi-Fi sul suo dispositivo vengono disabilitate da quel momento in poi.
In pratica, una volta che un iPhone o iPad si unisce ad una rete con il nome “%p%s%s%s%s%n”, il dispositivo non potrà più connettersi alle reti Wi-Fi o a utilizzare le funzionalità di rete di sistema come AirDrop. Il problema rimane anche dopo il riavvio del dispositivo.
After joining my personal WiFi with the SSID “%p%s%s%s%s%n”, my iPhone permanently disabled it’s WiFi functionality. Neither rebooting nor changing SSID fixes it :~) pic.twitter.com/2eue90JFu3
— Carl Schou (@vm_call) June 18, 2021
Sebbene Schuo non spieghi come abbia fatto a scoprire questo bug, c’è probabile spiegazione: la sintassi ‘%[character]‘ è comunemente usata nei linguaggi di programmazione per formattare le variabili in una stringa di output. In C, l’identificatore ‘%n’ significa salvare il numero di caratteri scritti nella stringa in una variabile legata alla funzione del formato stringa. Il sottosistema Wi-Fi probabilmente passa il nome della rete Wi-Fi (SSID) a una libreria interna che esegue la formattazione delle stringhe, che a sua volta provoca una scrittura arbitraria della memoria e un overflow del buffer. Questo porta alla corruzione della memoria e quindi iOS interromperà il processo, disabilitando il Wi-Fi per l’utente.
Si tratta di una catena di eventi molto difficile da portare a termine, a meno che da oggi non inizino a proliferare in giro per il mondo reti Wi-Fi con il nome incriminato e completamente aperte agli utenti. Fino a quando Apple non risolverà questo bug con un futuro aggiornamento, state semplicemente attenti a non accedere mai a reti Wi-Fi con il nome “%p%s%s%s%s%n”.
Inoltre, esiste già una soluzione che non prevede il ripristino totale del dispositivo. Dopo aver riavviato l’iPhone, basta andare in Impostazioni > Generali > Ripristina e selezionare Ripristina impostazioni di rete. Perderete tutte le Wi-Fi salvate in passato e le altre impostazioni di rete, ma il Wi-Fi tornerà a funzionare.