Adobe Acrobat Reader DC 的 EScript.api ESObject 缓存中存在释放后使用漏洞。仅限授权红队进行EDR测试。
Adobe Acrobat Reader DC <= 2020.009.20063。EScript 引擎缓存数据 ESObject 时,使用的键保留了原始编码(ANSI 或 Unicode)。删除操作始终构造 Unicode 键,因此 ANSI 命名的条目永远不会从缓存中清除。在 GC 释放底层对象后,过期的缓存条目变成悬空指针。
OpenAction 访问 dataObjects 以填充 ESObject 缓存ArrayBuffer 分配进行堆喷射以回收释放的内存此 PoC 触发了漏洞模式,但不包含武器化负载(无 shellcode,无 ROP 链)。它旨在验证您的 EDR 是否检测到了该利用技术。
python generate_poc.py # Generates CVE-2020-9715.pdf
python generate_poc.py -o custom.pdf # Custom output path
无外部依赖——仅使用 Python 标准库。
您的 EDR 应关注以下一项或多项:
ArrayBuffer 大量分配)dataObjects 后强制 GC 并重新访问(UAF 模式)OpenAction + EmbeddedFiles + JavaScript已在 APSB20-48(2020年8月)中修补。