A new bug has appeared in Apple iPhone devices that disables the device’s wireless functions once it is connected to a specific wireless network hotspot.
Once triggered, the error makes the iPhone unable to establish a wireless network connection, even if it is restarted or the wireless hotspot has been renamed.
A bug like this can be exploited by malicious actors who plant deceptive wireless network hotspots in common areas to connect iPhones to.
Reverse engineer Carl Schou had a problem connecting to his personal wireless network hotspot: %p%s%s%s%s%n
When connected to the hotspot, the iPhone’s wireless network is disabled, and every time it tries to enable it again, it quickly turns off, even if the device restarts or the hotspot name is changed.
After joining my personal wireless network named %p%s%s%s%s%n, Xu said, my iPhone permanently disabled the wireless network functions. It was not fixed by restarting or changing the wireless network name.
Xu uses an iPhone XS running iOS 14.4. Tests on an iPhone running iOS 14.6 confirm that the device’s wireless functionality is disrupted after connecting to the oddly named wireless network.
In multiple tests trying to connect to the same wireless network, the wireless settings start working intermittently, but all resulted in the same behavior – the iPhone’s wireless connection crashed.
The only way to fix the iPhone disabled wireless network feature was to reset the device’s network settings.
And keep in mind that malicious actors can plant fraudulent password less wireless network hotspots in common areas to disable iPhones.
According to users, the issue is specific to iPhones and does not appear to be replicable across Android devices.
Other security researchers who viewed Shaw’s tweet believe that a problem parsing the input is likely causing this error.
And when there is a string with “%” signs in the wireless network connection point names. iOS may mistakenly interpret characters after “%” as string format delimiters when they are not.
In the C programming language and its patterns, string format specifiers have a special meaning. It is processed by the language interpreter as a variable or command name rather than just a text.