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

2022-11-11 12:18:25 +08:00
 ZhiyuanLin

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 手机。

11901 次点击
所在节点    Android
71 条回复
ysc3839
2022-11-11 12:20:35 +08:00
好奇,这么做之后用户文件应该还是没解密的,打开文件管理器会看到什么呢?加密后的文件名?
itning
2022-11-11 12:21:23 +08:00
这 捡到 手机后 是不是可以用这个方法 解开锁屏了
datou
2022-11-11 12:22:49 +08:00
问个题外话

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

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

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

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/894437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX