К обсуждениям

PDF.js: запрет JavaScript actions при открытии PDF

Редакция VOne Технологии

Защитная диагностика PDF.js: запрет JavaScript actions при открытии PDF по GHSA-hq66-cqwq-w95j: runtime inventory, bounded fixture, измеримый verdict, красная линия и evidence bundle без production-данных.

Решение в двух шагах — PDF.js: запрет JavaScript actions при открытии PDF

Сначала подтвердите, что runtime действительно использует pdfjs-dist в диапазоне «npm:pdfjs-dist >= 5.6.83, < 6.2.108; first patched 6.2.108» и что функция «PDF.js: запрет JavaScript actions при открытии PDF» включена. Затем выполните только bounded fixture: В parser harness передать synthetic action descriptors; JS engine/callback заменить spy, browser не запускать. Боль, которую проверяет эта страница: PDF action может привести к выполнению JavaScript при открытии документа. Выходной артефакт — viewer mode / action type / callback calls / warning verdict. GHSA GHSA-hq66-cqwq-w95j не заменяет inventory и не доказывает уязвимость конкретной системы.

Карта границы — PDF.js: запрет JavaScript actions при открытии PDF

Нарисуйте последовательность Source → Normalize → Authorize/Validate → Side effect. Для «PDF.js: запрет JavaScript actions при открытии PDF» особая карта такова: Карточка различает parsing metadata и execution. PASS допускает безопасное информирование об action, но запрещает автоматический callback; viewer config и worker boundary фиксируются отдельно. На каждой стрелке укажите тип данных, владельца решения и измеримый counter. Если две стадии видят разные представления одной строки или объекта, итог UNKNOWN до устранения неоднозначности.

Подготовка без production-данных — PDF.js: запрет JavaScript actions при открытии PDF

Создайте temp directory, in-memory graph/cache/store либо pure adapter, соответствующий протоколу: В parser harness передать synthetic action descriptors; JS engine/callback заменить spy, browser не запускать. Используются только короткие canary labels; IP, токены, customer records, реальные пути и environment values запрещены. Network, shell, database, filesystem и session issuance заменяются spies. Зафиксируйте hash fixture и нулевые counters до control.

Control и boundary-case — PDF.js: запрет JavaScript actions при открытии PDF

Control подтверждает достижимость ветки на разрешённом входе. Boundary-case меняет ровно один параметр и должен остановиться до состояния «PDF action может привести к выполнению JavaScript при открытии документа». Запишите viewer mode / action type / callback calls / warning verdict, reason code и monotonic duration. Карточка различает parsing metadata и execution. PASS допускает безопасное информирование об action, но запрещает автоматический callback; viewer config и worker boundary фиксируются отдельно. Не повышайте размер/глубину после первого превышения, не используйте эксплуатационный payload и не сравнивайте разные ОС как доказательство исправления.

Таблица verdict — PDF.js: запрет JavaScript actions при открытии PDF

PASS: применимый runtime подтверждён, control прошёл, boundary остановился до side effect, cleanup доказан. FAIL: та же provenance и наблюдаемое запрещённое состояние. UNKNOWN: отсутствуют версия, configuration snapshot, control, counter или cleanup. NOT_APPLICABLE: package либо entry point доказанно отсутствует. Версия вне диапазона без runtime readback остаётся только inventory clue.

Красная линия — PDF.js: запрет JavaScript actions при открытии PDF

Стоп-условие: script callback вызван в запрещённом mode или unknown action получает allow. После остановки не повторяйте тест с большим вводом. Верните disposable state к hash, обнулите spies, освободите buffers/objects и выполните один benign control. Несовпадение state после cleanup блокирует PASS и должно войти в handoff как отдельный дефект harness или компонента.

Самостоятельная польза — PDF.js: запрет JavaScript actions при открытии PDF

Проверяет action dispatch policy без открытия недоверенного PDF. Не CID width budget: отдельная document action capability. Практический результат не сводится к названию CVE: читатель получает viewer mode / action type / callback calls / warning verdict. Карточка различает parsing metadata и execution. PASS допускает безопасное информирование об action, но запрещает автоматический callback; viewer config и worker boundary фиксируются отдельно. Механическая замена framework, устройства или платформы не создаёт новый intent; совпадающая старая страница становится update/merge-кандидатом.

Минимальный handoff — PDF.js: запрет JavaScript actions при открытии PDF

Передайте GHSA GHSA-hq66-cqwq-w95j, runtime digest, диапазон «npm:pdfjs-dist >= 5.6.83, < 6.2.108; first patched 6.2.108», entry point, sanitized config, control/boundary rows, counters, verdict, stop reason и cleanup proof. Источник опубликован 2026-08-06, обновлён 2026-08-06; это дата advisory, а не показатель спроса или эксплуатации. После remediation повторите тот же fixture и сравните границу/side-effect counters.

Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по GitHub Advisory Database и прямой upstream-странице. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.