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

Electron: как проверить запрет external protocol launch из sandboxed iframe

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

Защитная инструкция по Electron и ghsa-p2rr-rvmm-c5fp: применимость, обратимый стендовый опыт, stop-rule и минимальный пакет для поддержки.

Граница применимости Electron

Эта карточка отвечает только за «запрет external protocol launch из sandboxed iframe». Боль, которую она отделяет от соседних тем: sandboxed iframe может запустить внешний protocol handler за границей web content. Reviewed record ghsa-p2rr-rvmm-c5fp опубликован 2026-08-05 и обновлён 2026-08-05. Пакетная граница: npm:electron < 39.8.8 → fixed 39.8.8; npm:electron >= 40.0.0-alpha.1, < 40.9.0 → fixed 40.9.0; npm:electron >= 41.0.0-alpha.1, < 41.2.1 → fixed 41.2.1; npm:electron >= 42.0.0-alpha.1, < 42.0.0-beta.3 → fixed 42.0.0-beta.3. Снимите версию реально запущенного artifact, digest, provenance сборки и достижимость этой функции. Lockfile без runtime digest оставляет статус unknown; severity не доказывает атаку или ущерб.

Что подтверждено для ghsa-p2rr-rvmm-c5fp

Прямая Advisory Database связывает ghsa-p2rr-rvmm-c5fp, CVE-2026-70612, Electron, механизм «sandboxed iframe может запустить внешний protocol handler за границей web content» и диапазон «npm:electron < 39.8.8 → fixed 39.8.8; npm:electron >= 40.0.0-alpha.1, < 40.9.0 → fixed 40.9.0; npm:electron >= 41.0.0-alpha.1, < 41.2.1 → fixed 41.2.1; npm:electron >= 42.0.0-alpha.1, < 42.0.0-beta.3 → fixed 42.0.0-beta.3». Upstream-страница подтверждает происхождение проекта, но не состояние вашей установки. Локально запишите source URL, checked_at, version, enabled path, trust boundary, expected, observed и decision. Новость, forum thread и search snippet остаются лидами: ими нельзя подменять факт, причину или популярность.

Обратимый опыт: запрет external protocol launch из sandboxed iframe

Безопасный стендовый сценарий: в disposable Electron profile зарегистрировать mock protocol handler и инертную iframe action; ожидать blocked event и нулевой handler counter без вызова OS app. До запуска зафиксируйте baseline обычного входа, лимит времени/памяти/объектов и команду cleanup. После первого граничного исхода остановитесь, повторите normal control и удалите fixture. Запрещены production-документы, credentials, внешние адреса, активный HTML, команды и аварийная нагрузка. Если без них ответ не получен, карточка остаётся blocked, а не «успешной».

Матрица исходов для Electron

Полезный артефакт этой, а не соседней карточки: трасса navigation decision/shell-open counter/webContents origin в отдельном user-data-dir. Ветвь not-applicable требует доказанной версии вне «npm:electron < 39.8.8 → fixed 39.8.8; npm:electron >= 40.0.0-alpha.1, < 40.9.0 → fixed 40.9.0; npm:electron >= 41.0.0-alpha.1, < 41.2.1 → fixed 41.2.1; npm:electron >= 42.0.0-alpha.1, < 42.0.0-beta.3 → fixed 42.0.0-beta.3» или недостижимой функции. Ветвь update требует артефакта из primary source и повтора того же опыта. Ветвь contain допускает лишь узкое обратимое ограничение. При unknown provenance нужна escalation. Не меняйте одновременно runtime, proxy, OS и policy: иначе причинность не доказывается.

Stop-rule и пакет поддержки ghsa-p2rr-rvmm-c5fp

Немедленно остановите опыт при выходе за заданный budget, crash вне дочернего процесса, записи за temp root, неожиданном сетевом запросе или невозможности cleanup. Минимальный пакет для support: Electron, ghsa-p2rr-rvmm-c5fp, version/digest, абстрактная topology, hash fixture, трасса navigation decision/shell-open counter/webContents origin в отдельном user-data-dir, normal-control outcome, rollback status и decision code. Исключите IP, tokens, cookies, private keys, полный config, реальные имена и пользовательские данные. Отдельно отметьте, что advisory не доказывает эксплуатацию, ущерб или затронутость конкретной системы.

Паспорт evidence CVE-2026-70612

Идентификаторы: ghsa-p2rr-rvmm-c5fp и CVE-2026-70612; severity Reviewed record — medium; классификация — CWE-284: Improper Access Control. Пакеты: npm:electron < 39.8.8 → fixed 39.8.8; npm:electron >= 40.0.0-alpha.1, < 40.9.0 → fixed 40.9.0; npm:electron >= 41.0.0-alpha.1, < 41.2.1 → fixed 41.2.1; npm:electron >= 42.0.0-alpha.1, < 42.0.0-beta.3 → fixed 42.0.0-beta.3. Primary provenance: https://github.com/electron/electron; глобальная карточка: https://github.com/advisories/GHSA-p2rr-rvmm-c5fp. Эти поля копируются в тикет без расширительного толкования. CVE и CWE помогают маршрутизации, но не заменяют runtime inventory и локальную проверку «запрет external protocol launch из sandboxed iframe». Несовпадение product, package, function или digest запрещает автоматически переносить вывод этой страницы.

Материал подготовлен редакцией VOne с помощью ИИ, затем вручную проверен по двум прямым HTTPS-источникам; факты, диапазоны версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.

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

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

Ответы

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

Ваш ответ

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

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

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