CVE-2023-20963 WorkSource Parcelable反序列化漏洞分析

前言

  • 在Android安全补丁级别2023-03-01之前的版本中,android.os.WorkSource这个类型存在Parcelable反序列化漏洞,成功利用漏洞的攻击者可实现以system身份发送任意Intent。关于该漏洞Google在安全公告中表示:

    There are indications that CVE-2023-20963 may be under limited, targeted exploitation.

  • Google的描述看起来是轻描淡写,但是实际上针对此漏洞的利用代码被内置到了中国一家有着3亿多月均DAU的电商软件中,同时最早的漏洞利用时间已经很难考证,至少是长达半年。可以说是Android乃至网络安全行业极大规模的漏洞利用事件。

  • 今天并非讨论这次在野利用事件,主要关注漏洞本身。

继续阅读 →

再谈Parcelable反序列化漏洞和Bundle mismatch

一、前言

  • 近期在做Parcelable反序列化和Bundle mismatch方面的研究,在这个过程中有很多需要记录的内容,有些也是网络上相关文章没有提到的一些细节,并且由于aliyun上那篇最经典的原始文章链接失效,所以决定写一篇文章记录这种漏洞。由于Google官方在Android 13中的修改,这类漏洞即将退出历史舞台了,所以也用这篇文章作为纪念吧。
    继续阅读 →

CVE-2021-39676 AndroidFuture反序列化漏洞分析

一、漏洞描述

  • In writeThrowable of AndroidFuture.java, there is a possible parcel serialization/deserialization mismatch due to improper input validation. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVersions: Android-11Android ID: A-197228210
  • 这个漏洞Google没有在AOSP网站上披露补丁diff,但是这个漏洞所在的位置是开源的部分,可以自己分析。
    继续阅读 →

SVE-2021-23076漏洞分析

  • 标题:SVE-2021-23076 (CVE-2021-25510, CVE-2021-25511): Camera privilege escalation and arbitrary file write in FilterProvider (system_app) in Samsung Device
  • 描述:An improper validation vulnerability in FilterProvider prior to SMR Dec-2021 Release 1 allows local privilege escalation. The patch adds proper validation logic to prevent privilege escalation.

继续阅读 →

“系统应用”与CVE-2020-0391

前言

  • 搞Android应用安全,总会遇到一个概念叫“系统应用”。相比于这个概念,实际上更容易理解的是priv_app、platform_app以及system_app,之前的文章也有介绍这个问题。不过今天这篇文章就是关于系统应用的。
    继续阅读 →

Android 11“魔形女”系列漏洞分析

背景介绍

  • 近日,京东探索研究院信息安全实验室的研究团队发现一项高危Android 11系统漏洞链,利用该漏洞链,黑客可能在用户毫无感知的情况下,获取用户手机中所有APP的隐私数据和权限,如获取任一社交软件的聊天记录,任意劫持邮箱、公司内部沟通软件、支付软件等等。
  • 听起来影响很大,但是往往最具威力的漏洞都有着很朴素的技术原理,魔形女系列漏洞正是如此。本文将在法律允许的范围内对魔形女系列漏洞进行技术解析。

继续阅读 →

Android gdb调试原生代码

一、前言

  • 之前的文章介绍了Android 动态调试so文件,在最近的工作中,又使用gdb无源码调试了原生代码的进程,这里记录一下。
  • Google对使用gdb调试Android原生代码也有说明,不过在其中使用了Google自己编写的一个gdbclient.py脚本,这种方法Google说的已经比较清晰了,可以自己去看。我们这里着重介绍在没有源代码的情况下(例如OEM开发的原生代码)直接使用gdb进行调试的方法。

继续阅读 →