A researcher has found that some network names can disable Wi-Fi on phones. More specifically, some names with the percent symbol in the names can disable Wi-Fi on iPhones and other iOS devices.
Carl Schou tweeted this out saying that if an iPhone comes in a range of a network named %secretclub%power, the device will be unable to use Wi-Fi or its related features, even after the network settings are reset. The bug could continue to make Wi-Fi on the device unusable.
Schou, who belongs to a not-for-profit group called the Secret Club, which reverse-engineers software for research, found the flaw.
A possible explanation
The bug was found in iOS’ networking stack and can disable a device’s Wi-Fi and system networking features like AirDrop, by disabling them. There is a possible explanation for this odd bug from 9to5 Mac:
“the ‘%[character]’ syntax is commonly used in programming languages to format variables into an output string. In C, the ‘%n’ specifier means to save the number of characters written into the format string out to a variable passed to the string format function.”
The Wi-Fi subsystem probably passes the Wi-Fi network name (SSID), without cleaning it, to an internal library that performs string formatting, causing an arbitrary memory write and subsequent buffer overflow.
What happens after that?
A sequence like the one described by 9to5 Mac would lead to corruption of memory, causing the iOS watchdog to kill the process, disabling Wi-Fi for the user. Apple has not yet released a statement about the bug.
However, when any news comes along about what it plans to do about the bug, we will update this report. Meanwhile, 9to5 Mac notes that the bug can be avoided by not connecting to a Wi-Fi network that has the (%) character in the name.