此应用演示了我发现的一个Android系统NotificationManagerService中的高严重性永久拒绝服务漏洞。运行利用程序后,设备将显示黑屏,或持续反复崩溃并重启。
该漏洞利用addAutomaticZenRule API通过精心构造恶意免打扰规则(即勿扰模式规则)以占用大量内存,从而耗尽设备内存。应用允许你控制添加规则的大小和数量:预设的数量应在绝大多数设备上生效。
该应用针对API 24(Android 7.0 Nougat),但由于免打扰规则结构的变更,在Android Q之前的设备上可能无法正常工作。它还需要危险级别权限ACCESS_NOTIFICATION_POLICY才能运行;应用会在启动时请求该权限。
该漏洞已在2023年1月Android安全公告中修复——同时修复了同一子系统中的许多其他错误——具体做法是在AutomaticZenRule构造函数中截断长字符串(包括普通构造函数和Parcel序列化相关构造函数)。
如果你有ADB访问权限,因该漏洞而变砖的设备可能可以通过运行以下ADB命令来恢复:
adb uninstall me.sithi.cve_2022_20494
请注意,本项目仅供教育目的提供;请勿将其用于恶意活动。