
CVE-2026-91737 的概念验证,该漏洞是 Chrome PDF 渲染器中 PDFium 的释放后使用(use-after-free)漏洞,可在沙箱内实现 ASLR 绕过和 ARM64 载荷执行。
一个可重入的 PDF JavaScript 动作在 Chromium 的 PopulateAnnotationLinks() 持有 CPDF_Page 原始页面句柄期间将其卸载。此 PoC 回收该内存分配、恢复 ASLR,并在沙箱化的 PDF 渲染进程中执行攻击者提供的 40 字节 ARM64 载荷。该载荷写入一个哨兵值并返回 PDF 脚本执行。
Chromium issue 558036280 · 公开利用更新与附件
已在未修改的 Chrome Beta 154.0.8037.0、macOS 26.2 arm64 上测试。Chrome Framework 的 SHA-256 为 280c15c95811fcf799c91e7c307fc941cc61be1f156247d86d9856ead0e06062。该问题已修复;此 PoC 使用针对所测试构建的偏移量。它需要 PDF 无障碍功能。下面的标志使该入口具有确定性,并保持渲染进程沙箱启用。
python3 oracle_server.py --port 8000 --root serve --events ./rce-events.jsonl
在另一个终端中:
"/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta" \
--user-data-dir="$(mktemp -d /tmp/plc01-rce.XXXXXX)" \
--no-first-run --no-default-browser-check \
--disable-background-networking --disable-component-update --disable-sync \
--force-renderer-accessibility --enable-logging=stderr --v=1 \
http://127.0.0.1:8000/quick/poc.html
成功时以 SELFCONTAINED_MAPJIT_NATIVE_PAYLOAD_SENTINEL_COMPLETE 结束。已验证的运行耗时约 21 分钟。失败的 ASLR 探测会故意使 PDF 渲染进程实例崩溃。
范围: 在沙箱化的 PDF 渲染进程中执行原生代码。未声称实现浏览器进程攻陷或沙箱逃逸。