WiFi-bug kan draadloos netwerk op iPhones uitschakelen

0
166

Bug door naam van WiFi-netwerk

Als de netwerknaam “%p%s%s%s%s%n” is ingesteld en de iPhone maakt daar vervolgens verbinding mee, dan blijkt WiFi te worden uitgeschakeld, zo ontdekte Carl Schou. Het wijzigen van de netwerknaam loste het probleem niet op. Bleeping Computer was in staat om het probleem te herproduceren en trok daaruit de conclusie dat het gebruik van een procentteken waarschijnlijk de boosdoener is. iOS interpreteert de letters die daarna volgen op de verkeerde manier, namelijk als een string format specifier.

In de programmeertaal C en soortgelijke talen hebben string format specifiers een speciale betekenis en worden gezien als de naam van een variabele of een commando. Vervolgens zou er een buffer overflow ontstaan, waarna iOS ingrijpt en het hele systeem (en daarmee je iPhone) uitschakelt. Het is op z’n zachtst gezegd best een slordige bug, omdat er blijkbaar geen enkele input sanitization plaatsvindt, waardoor deze speciale tekens al op voorhand onschadelijk worden gemaakt, vaak door ze netjes te escapen met een backslash.

Het probleem doet zich niet voor op Android-toestellen, maar alleen bij iPhones. Het is aangetroffen op iPhones met verschillende versienummers (in ieder geval iOS 14.4.2 en iOS 14.6, maar waarschijnlijk bij meer versies). Opnieuw opstarten of de SSID aanpassen heeft geen effect. Gelukkig is er wel een oplossing, namelijk door de netwerkinstellingen volledig opnieuw in te stellen. Dit doe je via Instellingen > Algemeen > Stel opnieuw in > Herstel netwerkinstellingen. Let wel dat daarmee AL je wifi-wachtwoorden worden gereset. Het is daarmee een paardenmiddel.

Apple heeft nog niet gereageerd op het probleem, maar we verwachten dat er spoedig een oplossing komt in een van de aanstaande iOS-updates. Er is geen direct gevaar voor gebruikers, zolang je maar niet met netwerken probeert te verbinden waarvan de naam met een vreemd teken begint.