CVE-2024-49721 InputMethodSubtypeArray 反序列化漏洞分析
神马,都 2025 年啦,还有 Parcel Mismatch 漏洞?!?对!你没听错!最经典最被广泛利用的 Parcel Mismatch 漏洞,它又双叒叕来了!怕了吗?!?
去年我和 Cxxsheng 对整个 Parcelable IPC 机制进行了一些研究,并开发了一个扫描器用以扫描相关漏洞。此漏洞就是我们研究过程中发现的漏洞之一。我们于 2024 年 12 月 3 日提交漏洞报告,后被告知与另一份漏洞报告重复。以下记录了我们当时的分析。部分敏感信息已被移除或脱敏以保证安全。
本文包含了一个简单的 PoC。由于大部分用户都已经升级到有 checkKeyIntentParceledCorrectly 额外补丁的版本,参照以前类似漏洞的利用方法直接把本文里的 PoC 代码拿去攻击无法成功,故我们认为大部分用户已经得到保护,披露相关细节是安全的。
我们在此次研究中产出的其他文章(持续更新):
- 万众瞩目却又被大家忽略的历史漏洞:CVE-2022-20474分析——LazyValue下的Self-changed Bundle by Cxxsheng
- 论文:Parcel Mismatch Demystified: Addressing a Decade-Old Security Challenge in Android
The 32nd ACM Conference on Computer and Communications Security (ACM CCS 2025)
细节
检出 android-12.0.0_r1 分支的源码,查看 InputMethodSubtypeArray.java 这个文件(点击可直接跳转),关注它的序列化和反序列化过程。
反序列化:
1 | /** |
序列化:
1 | /** |