Android Security Bulletin Analysis (February 2021)


2021-02-01 security patch level vulnerability details

Android runtime

CVE-2021-0341

  • 在external/okhttp中拒绝非ASCII字符的主机名和SANs,主要涉及okhttp证书校验中主机名校验(HostnameVerifier)的部分。

Framework

CVE-2021-0302

CVE-2021-0305

  • 为特殊应用权限(应用和通知-高级-特殊应用权限)中的权限开关添加了遮挡时过滤点击保护android:filterTouchesWhenObscured=true

CVE-2021-0314

  • 对确认卸载应用窗口添加SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS标志,防止悬浮窗劫持攻击。

CVE-2021-0327

  • 在AMS的getContentProviderImpl方法里,最后有一段代码可能抛出异常,中断这个方法的执行。所以将其放入try-finally里面,并且确保在finally的时候可以正确的执行restoreCallingIdentity,清除Binder调用者的CallingUid,保证后续的Binder.getCallingUid可以取到正常的值。

CVE-2021-0330

  • 在storaged进程中少了一个锁(mutex lock),这个漏洞似乎无法利用,应该是源代码审计看到的。

CVE-2021-0334

  • 从ResolverActivity中去掉了updateIntentVerificationStatusAsUser接口。
  • 该接口和“使用已安装的应用打开链接”功能有关,旨在授予App对其所声明的域的完全验证权限,也就是说,对于目标域的Web链接,将总是跳转到该App。但这允许App接管无主的链接,如果用户在“使用应用打开”的对话框中选择了该App并且点击了“始终”按钮,后续该链接都会跳转到该App,不会提示用户。
  • Google认为该API的所有用法可能都是非预期的,应该将该API删除。

CVE-2021-0337

  • 在FileSystemProvider中,当文件被删除、重命名或者移动之后,去除该文件所有的URI权限。
  • 该Provider是提供给存储访问框架使用的,旨在让应用没有存储权限的情况下,也可以访问由用户指定的单个文件,用户选择文件之后,应用可以通过URI来访问该文件,该访问能力即由FileSystemProvider提供,如果用户选择的文件被删除、重命名或者移动,但URI权限没有去除,会造成应用意外访问到其他文件。

CVE-2021-0339

  • 限制App跳转动画的最大时间,限制过渡动画的最长时间为3秒(原先为10秒)。

CVE-2021-0340

  • MediaProvider的修复,使IsoInerface能处理64位和文件末尾的box长度,这样可避免视频文件的位置数据解析错误。

CVE-2021-0338

  • 在SettingsProvider中修复固定字体大小比例检查器,限制范围为0.85-1.3之间,原先的检查只要求大于0即可,该值设置的过大或者过于逼近0会导致系统无法显示而造成拒绝服务。

Media Framework

CVE-2021-0325

  • 在libavc中增加校验,图片中的first_mb_in_slice不能>=mbs
u2_first_mb_in_slice = ih264d_uev(pu4_bitstrm_ofst, pu4_bitstrm_buf);
if(u2_first_mb_in_slice >= (ps_dec->u2_frm_ht_in_mbs * ps_dec->u2_frm_wd_in_mbs))) {
    //...
}

CVE-2021-0332

  • SurfaceFlinger里面把一段代码换了个位置,提交信息也没有具体解释原因。

CVE-2021-0335

  • libstagefright的MediaCodec中的信息泄露问题。

System

CVE-2021-0326

  • 在wpa_supplicant_8的p2p.c中,当拷贝wps_sec_dev_type_list时没有校验其长度,导致wps_sec_dev_type_list超长时出现问题。
if (dev->info.wps_sec_dev_type_list_len > WPS_SEC_DEV_TYPE_MAX_LEN) {
    android_errorWriteLog(0x534e4554, "172937525");
    dev->info.wps_sec_dev_type_list_len = WPS_SEC_DEV_TYPE_MAX_LEN;
}
os_memcpy(dev->info.wps_sec_dev_type_list, cli->sec_dev_types, dev->info.wps_sec_dev_type_list_len)

CVE-2021-0328

  • GATT服务端会在发送GATT批量扫描结果广播之前,对发起扫描的GATT客户端添加和GATT普通扫描相同的权限检查。

CVE-2021-0329

  • 在GATT的AdvertiseManager中,传递不存在的GATT Advertiser ID会导致越界访问。

CVE-2021-0331

  • 对通知使用权的Activity添加SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS标志,防止悬浮窗劫持攻击。

CVE-2021-0333

  • 对蓝牙权限授予(例如蓝牙授予通讯录、通话记录等的权限)的Activity添加SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS标志,防止悬浮窗劫持攻击。

CVE-2021-0336

  • 限定BluetoothDevice.ACTION_CONNECTION_ACCESS_REPLY这一Intent的接收者必须为com.android.bluetooth,这个Intent用于传递蓝牙权限的授予状态。

2021-02-05 security patch level vulnerability details

Kernel components

Qualcomm components