研究人员发现,某些网络名称会导致禁用 iPhone 上的 Wi-Fi
Lasted 2021-07-05 14:54:31
一位安全研究人员发现,名称中带有百分比符号 (%) 的某些 Wi-Fi 网络可以禁用 iPhone 和其他 iOS 设备上的 Wi-Fi。Carl Schou 发推文说,如果 iPhone 进入名为 %secretclub%power 的网络范围内,设备将无法使用 Wi-Fi 或任何相关功能,即使在重置网络设置后,该错误可能会继续使设备上的 Wi-Fi 无法使用。
几周前,Schou 和他的非营利组织 Secret Club,发现如果 iPhone 连接到 SSiD 名称为 %p%s%s%s%s%n 的网络,它会导致 iOS 网络堆栈中的错误,从而禁用其 Wi-Fi,而且AirDrop 等系统网络功能也将无法使用。
9to5 Mac 为这个奇怪的错误提供了一个可能的解释:‘%[character]’ 常用于编程语言中,用于将变量格式化为输出字符串。在 C 语言 中,'%n' 说明符意味着将写入格式字符串的字符数保存到传递给字符串格式函数的变量中。Wi-Fi 子系统可能会将未经过滤的 Wi-Fi 网络名称 (SSID) 传递给一些正在执行字符串格式化的内部库,从而导致任意内存写入和缓冲区溢出。这将导致内存损坏,iOS 看门狗将终止该进程,从而有效地为用户禁用 Wi-Fi。
正如 9to5 Mac 指出的那样,通过不连接名称中带有百分比符号的 Wi-Fi 网络,可以避免该错误。