Android Security Bulletin Analysis (December 2022)

2022-12-01 security patch level vulnerability details

Android Runtime

CVE-2022-20502

  • ART模块中处理dex_caches_时的UAF问题。当使用openDexFile的时候,class linker会缓存dex文件地址到dexcaches,但这closeDexFile时将其释放并且未从dex_caches_中移除,当其他线程遍历访问dex_caches_时会造成UAF。

Framework

CVE-2022-20472

  • minikin中registerLocaleList中的越界读取

CVE-2022-20473

  • minikin中registerLocaleList中的越界

CVE-2021-39617

  • SurfaceFlinger中DrawingState::trustedOverlay未初始化的问题,可能会被随机初始化为true。

CVE-2021-39795

  • isDataOrObbPath只禁止访问Android/[data|obb]自身,而不会直接禁止访问其子目录,子目录的访问权限由应用自身决定。

CVE-2022-20124

  • 禁止非管理员用户删除系统应用。

CVE-2022-20442

  • 该漏洞未公开修补链接。

CVE-2022-20444

CVE-2022-20470

  • AppWidgetManager中的bindRemoteViewsService方法,调用bindService时候指定BIND_FOREGROUND_SERVICE_WHILE_AWAKE flag,防止绕过后台Activity启动限制,待具体分析。

CVE-2022-20474

  • 在AccountManagerService中新增对KEY_INTENT二次序列化对检查(Bundle序列化问题),并且修复了Android 13中readLazyValue允许接受字段长度为负数导致读取游标向前回滚的漏洞。

CVE-2022-20475

  • allowTaskReparenting导致Activity劫持的问题,现在仅允许当前应用TaskAffinity和目标Task的TaskAffinity相同时才允许栈重排(不是很理解,有待进一步测试)。

CVE-2022-20477

  • 在锁屏上隐藏标记为VISIBILITY_SECRET的通知,这个问题仅影响Android 13,而且是以前版本正常的功能,可能是大版本迭代时候不小心引入。

CVE-2022-20485

CVE-2022-20486

CVE-2022-20491

  • 限制NotificationChannel和NotificationChannelGroup中部分字段的长度,一共给了九个CVE编号,本部分有三个。

CVE-2022-20611

  • 禁止卸载被保护的包,这个是针对在网上广为流传的一种pm uninstall --user 0的方式的修复。

CVE-2021-0934

  • 将Account的Name和Type的字符数限制为200以内的检查,从Account.java(客户端)移动到AccountManagerService.java(服务端),防止被绕过。

CVE-2022-20449

  • UserManagerService中setApplicationRestrictions函数的路径穿越问题。

CVE-2022-20482

  • 把每个应用能注册的NotificationChannel数量由50000降低到5000。

CVE-2022-20500

  • 忽略不合法的Shortcut对象。

Media Framework

CVE-2022-20496

  • libstagefright的NuMediaExtractor中的堆上的UAF。

System

CVE-2022-20411

  • 蓝牙组件拷贝AVDT和AVCT包的越界写入,添加长度检查

CVE-2022-20498

  • libfdt中fdt_path_offset_namelen函数的越界读取

CVE-2022-20469

  • 蓝牙组件AVCT中的越界写入

CVE-2022-20144

  • Avatar Picker存在越权读取照片的问题,这次出在EmergencyInfo中。

CVE-2022-20240

  • 禁止特权应用绕过位置限制,并且允许system_server绕过位置限制(用于restricted user)。

CVE-2022-20478

CVE-2022-20479

CVE-2022-20480

CVE-2022-20484

CVE-2022-20487

CVE-2022-20488

  • 限制NotificationChannel和NotificationChannelGroup中部分字段的长度,一共给了九个CVE编号,本部分有六个。

CVE-2022-20495

CVE-2022-20501

  • 对EnableAccountPreferenceActivity界面添加SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS标志,防止悬浮窗劫持攻击。

CVE-2022-20466

  • 禁止ChooseLockPassword界面被投射到远程视图(RemoteView)上,添加FLAG_SECURE标志,由于在Android 13中更难打开悬浮窗权限,所以在13上级别为中,其他系统级别是高。

CVE-2022-20471

  • NFC模块NxpMfcReader中的越界读取。

CVE-2022-20483

  • 处理AVRC响应时的整数溢出。

CVE-2022-20497

  • 可能在锁屏上显示敏感通知内容,CL里写的逻辑比较复杂。

CVE-2022-20468

  • BNEP中的越界读取。