CVE-2015-0313 Investigation
趋势科技公司于 2015 年 2 月曝光了一个 Adobe Flash 0day 被外部恶意利用的信息,访问被该漏洞挂马的网站会自动下载恶意软件或弹出恶意广告等,影响甚广。该 Adobe Flash 0day 被命名为 CVE-2015-0313 Adobe Flash Player Workers ByteArray UAF 漏洞,其漏洞利用能够让攻击者实现任意代码执行
影响范围:
Adobe Flash Player before 13.0.0.269 and 14.x through 16.x before 16.0.0.305 on Windows and OS X and before 11.2.202.442 on Linux
漏洞分析
开启 hpa 调试运行 FlashPlayer 并打开样本,程序因触发 Access Violation 异常而崩溃。逆向 AVM 有点折磨所以直接从 样本 源码入手进行分析
1 | // Build how to: |
具体函数内进行的操作已标记在注释中。总结下来漏洞的触发流程是
- 在主 worker 中创建子 worker,然后 worker 间共享 ByteArray 数据
- 在主 worker 中将共享的 ByteArray 对象设置为 domainMemory
- 在子 worker 中通过 ByteArray.Clear 将共享的 ByteArray 内存清除
- 但是这时候 domainMemory 依然可以引用共享的内存区域,这是因为子 worker 调用 clear 清除内存的时候没有通知 domainMemory 修改对共享的引用
因此导致 UAF 漏洞
漏洞利用
使用 MSF 搜索该漏洞的 exp
1 | msfconsole |
搜索结果
1 | Matching Modules |
调用该模块并查看模块详情
1 | msf6 > use exploit/windows/browser/adobe_flash_worker_byte_array_uaf |
模块详情信息
1 | Name: Adobe Flash Player ByteArray With Workers Use After Free |
使用该模块生成木马
1 | msf6 exploit(windows/browser/adobe_flash_worker_byte_array_uaf) > set payload windows/exec |
随后 MSF 将在本地启动 Web Server 并在攻击目标访问时为其响应异常 HTML 页面以触发漏洞
Exploit 分析
该模块的 exp 位于
1 | /usr/share/metasploit-framework/modules/exploits/windows/browser/adobe_flash_worker_byte_array_uaf.rb |
exp 的核心代码为
1 | ## |
利用思路与分析的 PoC 和常规 UAF 漏洞利用一致,在此不再赘述
漏洞修复

Adobe 禁止了将具有共享属性的 ByteArray 设置为 domainMemory 进而阻止了 UAF 修复了此漏洞
Reference
Trend - Adobe Flash Player Unspecified Vulnerability (CVE-2015-0313)
ExploitDB - CVE-2015-0313
Microsoft 安全公告 MS14-012 - 严重
NVD - CVE-2015-0313
CVE - CVE-2015-0313
漏洞战争
- Título: CVE-2015-0313 Investigation
- Autor: 7erry
- Creado el : 2025-05-05 18:53:57
- Actualizado el : 2025-05-05 18:53:57
- Enlace: https://7erryx.github.io/2025/05/05/Vulnerability Investigation/CVE-2015-0313-Investigation/
- Licencia: Este trabajo está licenciado bajo CC BY-NC-SA 4.0.