ZhiyuanLin
V2EX  ›  Android

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

  •  3
     
  •   ZhiyuanLin · Nov 11, 2022 · 22035 views
    This topic created in 1454 days ago, the information mentioned may be changed or developed.

    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 replies  •  2022-12-08 17:12:21 +08:00
    ysc3839
    ysc3839
    Nov 11, 2022❤️1
    1
    好奇,这么做之后用户文件应该还是没解密的,打开文件管理器会看到什么呢?加密后的文件名?
    stimulate1797
    stimulate1797
    Nov 11, 2022❤️1
    2
    这 捡到 手机后 是不是可以用这个方法 解开锁屏了
    datou
    datou
    Nov 11, 2022
    3
    问个题外话

    esim 有 pin 和 puk 吗?
    8zip
    8zip
    Nov 11, 2022 via Android❤️1
    4
    怎么感觉这是故意留的…
    ysc3839
    ysc3839
    Nov 11, 2022
    5
    @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
    yjim
    Nov 11, 2022❤️1
    6
    @itning 并不能。PUK 错误次数上限了,卡就没用了;还有一个,PUK 使用场景太低了,很可能卡主自己都记不住。
    KexyBiscuit
    KexyBiscuit
    Nov 11, 2022
    7
    @ysc3839 看原文,需要开机后首次解锁解密,再次锁屏后才能绕过,否则是卡在正在启动的(因为既没有输入密码,界面又被杀掉了)
    ysc3839
    ysc3839
    Nov 11, 2022
    8
    @datou 理论上有
    ZhiyuanLin
    ZhiyuanLin
    OP
    Nov 11, 2022
    9
    > esim 有 pin 和 puk 吗?
    @datou #3

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

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

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

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

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

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

    无法复现,开机输 3 次错的 PIN 之后,要求输入 PUK ,然后重置 PIN ,最终仍然会要求输入锁屏密码。
    iwantcomputer
    iwantcomputer
    Nov 12, 2022
    63
    有没有用 MIUI13 Android12 的 V 友试试看这个问题存不存在
    infreboot
    infreboot
    Nov 12, 2022 via iPhone
    64
    别慌。还得拿到 PUK
    h4dWDy259W6zw3Z4
    h4dWDy259W6zw3Z4
    Nov 12, 2022 via iPad
    65
    有没有人试试绕过之后进设置清除所有数据,应该不需要验证密码吧
    Macolor21
    Macolor21
    Nov 12, 2022
    66
    iOS 大法好
    cst4you
    cst4you
    Nov 12, 2022
    67
    还好已经 2022-11 了
    FlossStunning
    FlossStunning
    Nov 12, 2022❤️2
    68
    @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
    Muniesa
    Nov 13, 2022❤️2
    69
    MIUI 13.0.5 Android 12 安全补丁 2022-07-01
    测试了两次:
    1. 重启后输错三次 pin ,输入 puk 解锁,重置 pin ,需要输入锁屏密码
    2. 不关机拔出 sim 卡,重新插入,输错三次 pin ,输入 puk 解锁,重置 pin ,需要输入锁屏密码
    wuyiw
    wuyiw
    Nov 14, 2022
    70
    Mate 30
    鸿蒙 3.0.0.156
    安全补丁标签 2022 年 10 月 1 日
    PUK 重置 PIN 后依旧需要锁屏密码解锁
    chtcrack
    chtcrack
    Dec 8, 2022
    71
    @itning 啊?问题是你捡到手机,你也不知道对方 sim 卡的 PUK 啊..
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2747 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 127ms · UTC 14:38 · PVG 22:38 · LAX 06:38 · JFK 09:38
    ♥ Do have faith in what you're doing.