
Концепция доказательства эксплуатации для CVE-2026-91737 — use-after-free в PDFium в PDF-рендерере Chrome, позволяющая обойти ASLR и выполнить полезную нагрузку ARM64 внутри песочницы.
Повторно входимое действие JavaScript в PDF выгружает CPDF_Page, пока PopulateAnnotationLinks() в Chromium удерживает необработанный дескриптор страницы. Этот PoC повторно захватывает выделение памяти, восстанавливает ASLR и выполняет предоставленную атакующим 40-байтовую полезную нагрузку ARM64 в изолированном PDF-рендерере. Полезная нагрузка записывает маркер и возвращает управление в PDF-скриптинг.
Chromium issue 558036280 · Обновление публичного эксплойта и вложения
Протестировано на неизменённом Chrome Beta 154.0.8037.0, macOS 26.2 arm64. SHA-256 Chrome Framework был 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-рендерере. Компрометация процесса браузера или выход из песочницы не заявляются.