iOS 又出漏洞
苹果 iOS 系统经常会出现发送指定代码就让设备死机的系统 BUG ,而在近日,开发者又发现了一个 iOS 的代码漏洞。
据测试,如果用户连接到一个特殊 WiFi 名称的网络后,设备将会出现严重问题,将直接导致手机网络系统崩溃。
具体如下,我们将自己的路由器的 WiFi 名称改为:%p%s%s%s%s%n
然后设备加入到这个 WiFi 网络中,设备不会出现这串乱码名称,前几次可能会出现无法链接的情况,等多点几次,设备马上就会出现网络故障。
据实测,我的 iOS15 设备会直接报错无法链接,然后多次测试会出现 WiFi 被关闭然后又重新开启。
而 iOS13 iOS14 的设备则会在多次链接后直接网络瘫痪,WiFi 无法打开,还会出现无法使用隔空投送,甚至是整机网络都无法使用的情况。即使是重启都没用了。
据开发者猜测,这个 BUG 很可能是苹果系统代码逻辑问题。
在代码中,% 语法在编程中常用,即将变量格式化为输出字符串,C 语言中,%n 即不打印任何内容并将到目前为止已打印的字符数写入 int 变量。
而将 WiFi 名称改成这个代码之后,系统可能将未分析的 SSID 传递给执行字符串格式设置的内部库,从而导致任意内存写入和缓冲区溢出。
毫无疑问的是,这个问题属于恶性 BUG ,如果有闲的无聊的用户将公共 WiFi 改成这种名字,那么不了解的人多次链接后会让自己的苹果设备无法上网。
所幸,这个问题可以通过设置中的网络重置解决,但是一般用户就能难想到了,因为即使是关机重启,依然会无法上网。
除了 iOS 的 iPhone 设备会出现这个问题,运行 iPadOS 系统的 iPad 也会出现同样的问题,因为他们运行的一样的系统底层。