Android Security Bulletin Index (March 2023)

2023-03-01 security patch level vulnerability details

Framework

CVE-2023-20906

  • 在应用更新到targetSDK 23以上的时候,自动移除悬浮窗权限,这个和运行时权限(targetSDK 23)和存储权限(target SDK 19)类似。
    
    revokeRuntimePermissionsIfGroupChangedInternal(pkg, oldPkg);
    revokeStoragePermissionsIfScopeExpandedInternal(pkg, oldPkg);
  • revokeSystemAlertWindowIfUpgradedPast23(pkg, oldPkg);

CVE-2023-20911

  • 在应用的权限更新的时候验证权限树的大小,而不仅仅是新增权限时。

CVE-2023-20917

  • 在分享图片时考虑Profile身份,具体场景没有研究。

CVE-2023-20947

  • 不允许在一次性授权的场景下,自动授予同权限组下的其他权限。

CVE-2023-20963

  • android.os.WorkSource这个类型存在Parcelable反序列化漏洞,可用于提权,具体可以参考我之前写的文章。
  • 此漏洞已被某中国电商软件在野外大批量活跃利用,详情参考DarkNavy的文章:「 深蓝洞察 」2022 年度最“不可赦”漏洞
    
     int numChains = in.readInt();
  • if (numChains > 0) {
  • if (numChains >= 0) {
    mChains = new ArrayList<>(numChains);
    in.readParcelableList(mChains, WorkChain.class.getClassLoader());
    } else {
    //…
    }

CVE-2023-20956

  • libcodec2_vndk中的越界读取。

CVE-2023-20958

CVE-2023-20964

  • 确保MediaButtonReceiver的组件名称属于调用者的App。

System

CVE-2023-20951

  • 蓝牙协议栈GATT部分的越界写入漏洞。
  • if (len < GATT_PREP_WRITE_RSP_MIN_LEN) {
  • if (len < GATT_PREP_WRITE_RSP_MIN_LEN ||
  • len > GATT_PREP_WRITE_RSP_MIN_LEN + sizeof(value.value)) {
    //…
  • value.len = len – 4;
  • value.len = len – GATT_PREP_WRITE_RSP_MIN_LEN;

CVE-2023-20954

  • 蓝牙协议栈SDP部分的越界写入漏洞。

    When the attr_pad becomes full, it is possible
    that un index of -1 is computed write
    a zero byte to p_val, rusulting OOB write.

    p_val[SDP_MAX_PAD_LEN - p_rec->free_pad_ptr - 1] = '\0';

CVE-2023-20926

  • 在开机向导结束之前,不允许点击相机/麦克风隐私指示器,通过这个可以绕过恢复出厂保护(FRP),也就是所谓的激活锁。

CVE-2023-20931

  • 蓝牙协议栈AVDT部分的边界检查问题。
  • if (p_data->apiwrite.p_buf->offset < AVDT_MEDIA_HDR_SIZE) {
  • android_errorWriteWithInfoLog(0x534e4554, "242535997", -1, NULL, 0);
  • return;
  • }

CVE-2023-20936

  • 蓝牙协议栈AVRCP部分的越界写入问题,仅在IVI上有用,因为IVI默认的角色是AVRCP Controller。

CVE-2023-20953

  • 在开机向导结束之前,对于剪贴板访问仅发送通知,通过这个可以绕过恢复出厂保护(FRP),也就是所谓的激活锁。

CVE-2023-20955

  • 在多用户开启时设置的应用管理页面支持“为所有用户卸载”功能,此功能可以绕过DISALLOW_APPS_CONTROL限制卸载应用。

CVE-2023-20957

  • 在开机向导阶段直接禁用了部分设置页面,包括:
    AccountDashboardFragment
    AppInfoDashboardFragment
    DevelopmentSettingsDashboardFragment
    ResetDashboardFragment

CVE-2023-20959

  • 直接把AddSupervisedUserActivity给删了,涉及到访客用户调用的问题。

CVE-2023-20960

  • 设置应用不允许启动未导出的或者调用方没有权限调用的DeepLink Activity,避免出现LaunchAnyWhere漏洞,同时还限制了Intent.FLAG_GRANT_READ_URI_PERMISSION和Intent.FLAG_GRANT_WRITE_URI_PERMISSION。

CVE-2023-20966

  • 这个patch看不了,不知道为啥。看NVD描述是inflate.c里面的越界写入问题。

CVE-2022-4452

  • crosvm里面的问题。

CVE-2022-20467

  • BluetoothOppUtility中的绕过BluetoothShareUri的限制(startsWith绕过),可以通过蓝牙的FileProvider读取文件。

CVE-2023-20929

  • Halfsheet取消的广播对Receiver增加ACCESS_FINE_LOCATION权限要求,应该是可以泄露WiFi BSSID信息。

CVE-2023-20952

  • 蓝牙协议栈A2DP部分A2DP_BuildMediaPayloadHeaderSbc的越界读取。
  • // there is an 4-byte timestamp right following p_buf
  • if (p_buf->offset < 4 + A2DP_SBC_MPL_HDR_LEN) {
  • return false;
  • }

CVE-2023-20962

  • MediaVolumePreferenceController中PendingIntent设置为FLAG_IMMUTABLE。

CVE-2022-20499

  • PasspointConfiguration配置检查身份前缀。

CVE-2023-20910

  • 限制PasspointConfiguration的配置大小。