博谈天下博谈天下博谈天下

这种WiFi会导致iPhone无线功能异常,附解决方法

iPhone 又出现诡异的 Bug 了!

安全研究人员@Carl Schou 在推特上公布了自己的发现,当 iPhone 连接经过特殊构造的 SSID(无线网络名称)时,会导致 iPhone 无线网络功能出现异常。

图片

这个特殊的 SSID 为 %p%s%s%s%s%n

图片

博谈天下尝试将无线路由器的 SSID 修改为这个名称,使用 iOS 14.6 系统的 iPhone 12 mini 测试。

图片

结果与 Carl Schou 描述的一致,无线局域网功能无法开启,无法正常上网,需要用到 WiFi 功能的隔空投送操作也无法进行。

图片

包括 iOS 14.4.2 系统也会出现这一问题,不过博谈天下使用已经升级 iOS 15 测试版的 iPhone 连接这个网络,会直接提示无法连接,没有引发异常。

iPhone 连接这个奇葩的 SSID 出现 Bug,可能的原因是 iPhone 对 SSID 名称错误的解析导致

学习过编程的小伙伴应该了解,“%”在 C 等语言中不仅仅表示百分号,它还有格式化字符串的作用,iPhone 连接“%p%s%s%s%s%n”的 SSID 后,系统代码内没有将其理解为普通字符串,而是理解成代码进行解析,这就会导致任意的内存写入和缓冲区溢出,从而破坏内存数据。而 iOS 看门狗机制会终止该进程,导致 Wi-Fi 功能被禁用。

图片
iPhone 错误日志记录

目前已经有工程师定位到会引起 Bug 的代码:

图片

解决方法

经过测试发现,无法通过重启 iPhone 来恢复正常,目前唯一有效的方法是还原 iPhone 网络设置。

在系统设置-通用-还原中,点击还原网络设置,输入 iPhone 密码会自动重启,进入系统后无线网络功能便恢复正常。

图片

需要注意的是,还原网络设置会清除以前连接过的 Wi-Fi 和密码、蜂窝网络设置等。

iPhone 出现诡异的 Bug 这已经不是第一次了,最近的一次是在 2020 年,一组由意大利国旗 Emoji 和信德语组成的文字会引起 iOS 系统闪退或死机。

图片

当时这个 Bug 被许多人利用来恶搞,不仅影响到了所有的 iPhone,连 iPad、Apple Watch 也未能幸免。

这次出现的特殊 WiFi 名称导致 iPhone 无线网络被禁用的 Bug,苹果应该会在下一个 iOS 系统更新中进行修复,在此之前大家看到类似名称(含有多个%百分号)的 WiFi 尽量不要加入。


未经允许不得转载:博谈天下 » 这种WiFi会导致iPhone无线功能异常,附解决方法

广告位
加载中~