Toggle Dark Mode
Every so often we see reports about how weird text strings can break things on an iPhone, but in this case, we’re seeing a new twist on the age-old problem. One security researcher has discovered that a specially formatted Wi-Fi network name can wreak havoc on your wireless connectivity.
Traditionally, these sorts of problems have affected the Messages app, which is why Apple has baked in some pretty hardcore messaging security technologies in iOS 14. This latest one, however, comes from an area that most of us wouldn’t have expected — a Wi-Fi network name that will confuse your iPhone or iPad to the point of shutting down your Wi-Fi connectivity entirely.
The flaw was discovered by security researcher Carl Schou, who found that creating a Wi-Fi network with the name “%p%s%s%s%s%n” and joining it permanently disabled the Wi-Fi on his iPhone.
Schou noted that after doing this, he was unable to join any Wi-Fi networks, even after rebooting his iPhone.
According to BleepingComputer, which first reported on Schou’s findings, the problem occurs on both an iPhone XS running iOS 14.4.2 — which was the model that Schou first encountered it on — and any iPhone running iOS 14.6.
We have also independently confirmed that this flaw exists in the latest iOS 14.7 and iOS 15 betas as well.
In most cases, connecting to this oddly named SSID causes the problem illustrated by Schou, where the iPhone Wi-Fi setting would be switched off, and could not be re-enabled. Other tests we performed left the iPhone in a more cryptic state, where the Wi-Fi appeared enabled but refused to connect to any Wi-Fi network.
Should You Be Concerned?
While Schou’s findings are certainly interesting, it’s fair to say that this isn’t something you need to be concerned with, since it won’t be a problem unless you actually join the Wi-Fi network in question.
In other words, this bug is not triggered by simply seeing a Wi-Fi network named “%p%s%s%s%s%n”. You can even view that network name in the list of available networks, and your iPhone will not be affected.
It’s only tapping on the network name in your Wi-Fi settings to attempt to join it that will cause the problem to occur. Since most users are unlikely to join a network with a name like “%p%s%s%s%s%n”, this is unlikely to be a widespread problem.
In short, if you see a network named %p%s%s%s%s%n, do not attempt to join it.
Further, there is no evidence that this flaw does anything other than disabling your Wi-Fi. It will not allow a hacker to get into your iPhone, nor does it permanently disable the iPhone hardware. Hence, there’s really little motivation for anybody other than a bored prankster to bother setting up such a Wi-Fi network.
That said, should you fall prey to this particular problem, all is not lost. You can restore normal Wi-Fi connectivity with a quick trip into your iPhone or iPad Settings app:
- In the Settings app, tap on General.
- Scroll down and tap on Reset.
- Tap on Reset Network Settings.
- Enter your passcode to confirm.
- From the confirmation prompt that appears, tap Reset Network Settings again.
- Your iPhone will restart.
This will remove all of your saved Wi-Fi networks, including the “%p%s%s%s%s%n” SSID, effectively giving you a clean slate. You will need to reconfigure your iPhone to connect to your Wi-Fi at home, work, school, or any other places you regularly visit, but normal Wi-Fi access will otherwise be restored.
What’s Going on Here?
This issue stems from a flaw in iOS that will undoubtedly be patched by Apple in a future update. However, this flaw makes some sense from a coding point of view, which explains why Schou would be testing a Wi-Fi name with such an obscure string.
All my devices are named after format strings to f*** with poorly developed devices.Carl Schou
In many C-style programming languages, which form the basis for iOS, strings with % signs are used as placeholders for other variables. Most likely, the use of these symbols in a Wi-Fi network name is being interpreted by iOS in some unusual manner, causing the section of the code that deals with Wi-Fi networks to effectively lose its mind.
From a coding perspective, this is a rookie mistake, and somewhat embarrassing for Apple. Strings for SSID names should be properly “sanitized” before getting handed off to lower-level code, and it’s notable that Android devices don’t seem to fall prey to the same problem.
Fortunately, however, it’s not a serious issue. Your iPhone and iPad won’t connect to unknown networks unless the user explicitly chooses to do so, and we can’t imagine too many users thinking that joining a network named %p%s%s%s%s%n is a good idea.
However, this is also a good cautionary tale against joining any unknown Wi-Fi network — many so-called “free public hotspots” are actually honeypots and pineapples designed to do much more than just disable your iPhone Wi-Fi. Malicious hackers frequently use SSIDs with names like “Public Wi-Fi” to lure users in, allowing them to spy on traffic going to and from your iPhone once you’re connected. This is why it’s always a good idea to use a VPN when connecting to any public Wi-Fi hotspot — even ones you may otherwise trust, like at your local library or Starbucks.