V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ZhiyuanLin
V2EX  ›  Android

严重安全漏洞:安全补丁早于 2022 年 11 月的 Android 设备可能存在通用的免密解锁 Bug

  •  3
     
  •   ZhiyuanLin · 86 天前 · 7620 次点击
    这是一个创建于 86 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://bugs.xdavidhu.me/google/2022/11/10/accidental-70k-google-pixel-lock-screen-bypass/ https://news.ycombinator.com/item?id=33544883 https://github.com/aosp-mirror/platform_frameworks_base/commit/ecbed81c3a331f2f0458923cc7e744c85ece96da

    所需工具:启用 PIN Lock 的 SIM 卡(需要知道 PUK ) 复现方法:

    1. 插入 SIM 卡并重启
    2. 故意输错 3 次 PIN 导致 SIM 卡被锁定
    3. 输入 PUK 解锁被锁定的 SIM 卡并重置 PIN ,会发现 SIM 卡锁和锁屏同时被解除了。

    漏洞原因: Android SIM 锁和普通锁屏使用同一个 class ,解锁成功时.dismiss()会被调用,用于消除锁屏 UI 。 解锁 PUK 时.dismiss()被错误用在所有当前锁屏 UI 上了。

    2022-10 补丁和更早的的 Pixel 全系可复现,2022-11 补丁修复。 漏洞在 AOSP 上,理论上影响所有厂商的 Android 手机。

    71 条回复    2022-12-08 17:12:21 +08:00
    ysc3839
        1
    ysc3839  
       86 天前   ❤️ 1
    好奇,这么做之后用户文件应该还是没解密的,打开文件管理器会看到什么呢?加密后的文件名?
    itning
        2
    itning  
       86 天前   ❤️ 1
    这 捡到 手机后 是不是可以用这个方法 解开锁屏了
    datou
        3
    datou  
       86 天前
    问个题外话

    esim 有 pin 和 puk 吗?
    8zip
        4
    8zip  
       86 天前 via Android   ❤️ 1
    怎么感觉这是故意留的…
    ysc3839
        5
    ysc3839  
       86 天前
    @ysc3839 原文是这么说的:
    It was a fresh boot, and instead of the usual lock icon, the fingerprint icon was showing. It accepted my finger, which should not happen, since after a reboot, you must enter the lock screen PIN or password at least once to decrypt the device.
    After accepting my finger, it got stuck on a weird “Pixel is starting…” message, and stayed there until I rebooted it again.
    如果没有解密文件的话会卡死在“Pixel is starting…”界面。
    yjim
        6
    yjim  
       86 天前   ❤️ 1
    @itning 并不能。PUK 错误次数上限了,卡就没用了;还有一个,PUK 使用场景太低了,很可能卡主自己都记不住。
    KexyBiscuit
        7
    KexyBiscuit  
       86 天前
    @ysc3839 看原文,需要开机后首次解锁解密,再次锁屏后才能绕过,否则是卡在正在启动的(因为既没有输入密码,界面又被杀掉了)
    ysc3839
        8
    ysc3839  
       86 天前
    @datou 理论上有
    ZhiyuanLin
        9
    ZhiyuanLin  
    OP
       86 天前
    > esim 有 pin 和 puk 吗?
    @datou #3

    这个有,我的 eSIM 就设置了 PIN 。
    ZhiyuanLin
        10
    ZhiyuanLin  
    OP
       86 天前   ❤️ 1
    > 这 捡到 手机后 是不是可以用这个方法 解开锁屏了
    @itning #2
    > @itning 并不能。PUK 错误次数上限了,卡就没用了;还有一个,PUK 使用场景太低了,很可能卡主自己都记不住。
    yjim #6 最大问题是你可以插自己的卡用这个漏洞解锁手机,不需要用机主的卡。

    @ysc3839 #5
    > 看原文,需要开机后首次解锁解密,再次锁屏后才能绕过,否则是卡在正在启动的(因为既没有输入密码,界面又被杀掉了)
    @KexyBiscuit #7

    感谢,我的复现步骤画蛇添足多写了一个“重启”。
    所以应该是:

    1. 插入 SIM 卡
    2. 故意输错 3 次 PIN 导致 SIM 卡被锁定
    3. 输入 PUK 解锁被锁定的 SIM 卡并重置 PIN ,会发现 SIM 卡锁和锁屏同时被解除了。
    ZhiyuanLin
        11
    ZhiyuanLin  
    OP
       86 天前   ❤️ 3
    根据 Hacker News 的评论,该漏洞需要 Android 12+,可以在非 Pixel 机型复现。
    也就是 Android 版本>=12 且安全补丁<=2022-10 的所有 Android 手机。
    UG4anS3JspYD
        12
    UG4anS3JspYD  
       86 天前
    Android 11 miui 12.5 必须输入 锁屏密码才能输入 pin
    wanqiuyao
        13
    wanqiuyao  
       86 天前 via iPhone
    @UG4anS3JspYD root 了吗
    UG4anS3JspYD
        14
    UG4anS3JspYD  
       86 天前
    @wanqiuyao #13 没有 也没解锁
    oldshensheep
        15
    oldshensheep  
       86 天前
    捡到手机后不能关机 /重启,重启就不能利用这个漏洞了
    ysc3839
        16
    ysc3839  
       86 天前 via Android   ❤️ 1
    @UG4anS3JspYD 那是因为你曾经开启过 MIUI 的保存 SIM PIN 功能吧,开启后会修改一个 setting ,开机后就不会显示 PIN 输入页面了,要解锁后才会弹出 PIN 输入页面,把那个 setting 改回去就能在锁屏界面看到 PIN 输入页面了。系统版本是 MIUI 13 22.10.26 Android 12 。
    billlee
        17
    billlee  
       86 天前 via Android
    复现成功
    wanqiuyao
        18
    wanqiuyao  
       86 天前 via iPhone
    @UG4anS3JspYD 好嘞,搞个虚拟机凑合用吧
    UG4anS3JspYD
        19
    UG4anS3JspYD  
       86 天前
    @ysc3839 #16 没错 曾经开启过 MIUI 的保存 SIM PIN 功能 不过 我刚才重置了下
    UG4anS3JspYD
        20
    UG4anS3JspYD  
       86 天前
    插入 SIM 卡并重启
    故意输错 3 次 PIN 导致 SIM 卡被锁定
    输入 PUK 解锁被锁定的 SIM 卡并重置 PIN ,会发现 SIM 卡锁和锁屏同时被解除了。(不能复现)
    UG4anS3JspYD
        21
    UG4anS3JspYD  
       86 天前
    插入 SIM 卡并重启 正常解锁
    锁屏 插入 带 pin 锁的 SIM 卡
    故意输错 3 次 PIN 导致 SIM 卡被锁定
    输入 PUK 解锁被锁定的 SIM 卡并重置 PIN ,会发现 SIM 卡锁和锁屏同时被解除了(不能复现)

    Android 11 miui 12.5
    ZhiyuanLin
        22
    ZhiyuanLin  
    OP
       86 天前   ❤️ 1
    > 输入 PUK 解锁被锁定的 SIM 卡并重置 PIN ,会发现 SIM 卡锁和锁屏同时被解除了(不能复现)
    > Android 11 miui 12.5
    @UG4anS3JspYD #21

    我在#11 补充了
    > 也就是 Android 版本>=12 且安全补丁<=2022-10 的所有 Android 手机
    你版本太低了也没这个问题。
    danbai
        23
    danbai  
       86 天前
    哦豁,我不知道我 puk 码,卡锁了
    759648397
        24
    759648397  
       86 天前   ❤️ 1
    不知道自己 PUK 码的建议不要尝试,否则营业厅走起
    ZhiyuanLin
        25
    ZhiyuanLin  
    OP
       86 天前
    #23 @danbai 节哀,营业厅排队吧
    其他运营商不知道,联通的手机营业厅 App 能查 PUK 。但是已经锁了的没法短信验证估计是查不了了。
    deorth
        26
    deorth  
       86 天前 via Android
    看了一眼安全补丁,22 年 10 月 1 日。寄了,等更新
    iridium945
        27
    iridium945  
       86 天前
    @yjim 自备一张知道 puk 的 sim 就行了……
    Marionic0723
        28
    Marionic0723  
       86 天前
    @ZhiyuanLin 最靠谱的还是卡板,我一张联通校园卡,网上查 puk 显示的 12345678 ,有一次误操作锁死了,还是靠卡板恢复的,不然估计要营业厅排队去了。
    还有你这头像……
    nekomiao
        29
    nekomiao  
       86 天前
    Cavolo
        30
    Cavolo  
       86 天前
    @ZhiyuanLin 设置了 pin 的 esim 迁移时候会发生什么?
    nekomiao
        31
    nekomiao  
       86 天前
    @nekomiao 手抖发送了,可以看看这个说的比较详细
    Stendan
        32
    Stendan  
       86 天前   ❤️ 1
    @danbai 人工回复 puk 就会显示你的 pin 和 puk ,联通移动都可以,公众号和 APP 都可以,前几天刚试的。
    Cavolo
        33
    Cavolo  
       86 天前 via iPhone
    打 10086 核实消息后会告诉你 pin 和 puk
    ZhiyuanLin
        34
    ZhiyuanLin  
    OP
       86 天前 via iPhone
    @Cavolo
    eSIM 迁移一般是重新发行一张到新手机,旧 eSIM 失效。
    iOS 之前预告那种直接不通过运营商把数据迁移到新机的不知道上线没有。
    yzc27
        35
    yzc27  
       86 天前
    miui 13 ,在小米官方还没推更新前,有什么临时办法暂时缓解这个漏洞吗?
    danbai
        36
    danbai  
       86 天前 via Android
    还好我服务密码还知道,我用另外的卡打人工客服找回来了。
    registerrr
        37
    registerrr  
       86 天前
    @yzc27 #35 别丢手机
    edis0n0
        38
    edis0n0  
       86 天前   ❤️ 1
    @ZhiyuanLin #24 联通同实名的其它卡打电话找客服问 PUK 就行了,什么资料都不用验证
    Archeb
        39
    Archeb  
       86 天前   ❤️ 1
    Pixel 6 Pro 复现成功
    没想到竟然这么低级的操作就能突破一台重启后解锁过的手机,而且 Pixel 居然甚至没有拔卡自动重启这种保护……
    然后到现在为止最新补丁也还在 22 年 10 月
    registerrr
        40
    registerrr  
       86 天前
    @Archeb #39 拔卡自动重启,现在手机系统几乎都不会这么做了吧,用户体验太差了
    Thiece
        41
    Thiece  
       86 天前
    @Archeb
    @registerrr
    目前只有索尼手机有,不过最新一代好像也没有了
    mxalbert1996
        42
    mxalbert1996  
       86 天前 via Android
    @Archeb 11 月补丁 11 月 7 日就出了(所以发现者才公开了这个漏洞),我的 Pixel 6 Pro 都更新好几天了
    xiaoke
        43
    xiaoke  
       86 天前 via Android
    本以为启用 sim 卡 pin 会更安全呢
    ysc3839
        44
    ysc3839  
       86 天前
    @xiaoke 给你自己的 SIM 卡设置 PIN 是更安全的,可以避免手机丢失后别人拿你卡干坏事。
    vvhy
        45
    vvhy  
       86 天前
    miui13.0.6 android12 安全更新 10 月 1 日,不能复现,重置 PIN 后还要输锁屏密码
    ZhiyuanLin
        46
    ZhiyuanLin  
    OP
       86 天前 via iPhone
    @Archeb 可能只是没给你推送,可以去官网下 ota 包人肉 adb ota
    Ga2en
        47
    Ga2en  
       86 天前
    PUK 好像输错三次可以用 PUK2 解锁 PUK 。。。。
    weateau
        48
    weateau  
       86 天前   ❤️ 10
    谁测试下鸿蒙有这个 bug 吗
    Cavolo
        49
    Cavolo  
       86 天前
    @weateau 最新鸿蒙用的 AOSP 是基于 12 的吗
    12101111
        50
    12101111  
       86 天前
    @Cavolo HarmonyOS 3 已经更新到 AOSP 12 和 Linux 5.10, 9 月的安全补丁, 理论上可以复现,不过我的是平板,没有 SIM 卡槽
    JensenQian
        51
    JensenQian  
       86 天前 via Android
    卡已经被锁了,我凉了
    FLY59189
        52
    FLY59189  
       86 天前
    @weateau 最新鸿蒙 3 ,基于 AOSP12 ,2022 年 10 月的安全补丁,无法绕过。
    FLY59189
        53
    FLY59189  
       86 天前
    @weateau 鸿蒙 3 ,基于 AOSP12,2022 年 10 月补丁,无法绕过。
    WebKit
        54
    WebKit  
       86 天前 via Android
    @yzc27 不设置 SIM 卡锁,丢了手机立即挂失 SIM 卡
    ltkun
        55
    ltkun  
       86 天前 via Android
    Android 8.1 不能复现 海信 a6 pin 码重置以后 进入系统还需要输入之前的 pin 码 重置的是 sim 卡的 pin
    FlossStunning
        56
    FlossStunning  
       86 天前
    MIUI13 Android 12 无法复现,PIN 码验证被手机管家接管,必须解锁后才能开始验证 PIN 码
    Zyzzz
        57
    Zyzzz  
       86 天前
    安卓 bug 呀,我们鸿蒙不会有事吧
    ysc3839
        58
    ysc3839  
       86 天前 via Android   ❤️ 1
    @FlossStunning 看 16 楼,可以改回去的。用 adb 或 root shell 执行 settings delete secure sim_lock_enable 即可
    nyxsonsleep
        59
    nyxsonsleep  
       86 天前
    @Zyzzz 牛的
    ChangeTheWorld
        60
    ChangeTheWorld  
       85 天前
    当年 SONY 拔 SIM 卡必重启,一堆人喷,现在给改回来了
    iAIR
        61
    iAIR  
       85 天前 via Android
    原生安卓这类奇葩问题不意外。
    以前工作资料关闭之后,重新启用需要输入密码,但这个密码却不是锁屏 PIN 或用户密码,导致工作资料直接废掉。
    iwantcomputer
        62
    iwantcomputer  
       85 天前
    拿米 9 试了一下,MIUI12.5 21.11.24 开发版,Android11 安全补丁 21-5-1 。

    无法复现,开机输 3 次错的 PIN 之后,要求输入 PUK ,然后重置 PIN ,最终仍然会要求输入锁屏密码。
    iwantcomputer
        63
    iwantcomputer  
       85 天前
    有没有用 MIUI13 Android12 的 V 友试试看这个问题存不存在
    Stevenv
        64
    Stevenv  
       85 天前 via iPhone
    别慌。还得拿到 PUK
    iloveMonica
        65
    iloveMonica  
       85 天前 via iPad
    有没有人试试绕过之后进设置清除所有数据,应该不需要验证密码吧
    Macolor21
        66
    Macolor21  
       85 天前
    iOS 大法好
    cst4you
        67
    cst4you  
       85 天前
    还好已经 2022-11 了
    FlossStunning
        68
    FlossStunning  
       85 天前   ❤️ 2
    @ysc3839 感谢,但是发现安全补丁已经是 11 月的了,附我自己的测试记录
    MIUI13 Android 12 安全补丁 2022.11.01
    ColorOS 12.1 Android 12 安全补丁 2022.10.15
    LG UX 10 Android 10 安全补丁 2021.01.01
    JoyUI 12.5 (MIUI 12.5) Android 11 安全补丁 2022.01.01
    均无法复现,重置 PIN 后依旧需要解锁
    Muniesa
        69
    Muniesa  
       84 天前   ❤️ 2
    MIUI 13.0.5 Android 12 安全补丁 2022-07-01
    测试了两次:
    1. 重启后输错三次 pin ,输入 puk 解锁,重置 pin ,需要输入锁屏密码
    2. 不关机拔出 sim 卡,重新插入,输错三次 pin ,输入 puk 解锁,重置 pin ,需要输入锁屏密码
    wuyiw
        70
    wuyiw  
       83 天前
    Mate 30
    鸿蒙 3.0.0.156
    安全补丁标签 2022 年 10 月 1 日
    PUK 重置 PIN 后依旧需要锁屏密码解锁
    chtcrack
        71
    chtcrack  
       59 天前
    @itning 啊?问题是你捡到手机,你也不知道对方 sim 卡的 PUK 啊..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   843 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 23:52 · PVG 07:52 · LAX 15:52 · JFK 18:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.