Практическая защитная проверка Etherpad import/export: атомарное создание временных файлов по GHSA-2jwf-f4xq-f24h: runtime provenance, изолированный fixture, измеримые PASS/FAIL/Unknown, stop-rule и evidence bundle без production-данных.
Диагностический контракт — Etherpad import/export: атомарное создание временных файлов (GHSA-2jwf-f4xq-f24h)
Задача страницы — ответить на вопрос: проверить отказ от predictable Math.random paths и symlink overwrite. Наблюдаемая боль: предсказуемое имя в shared temp позволяет заранее создать symlink target. Нужный результат: temp API/collision/symlink matrix, inode and overwrite counter, stop-rule. Контракт решения: контроль проходит, а граничный вход для «Etherpad import/export: атомарное создание временных файлов» останавливается до запрещённого чтения, записи, выдачи секрета, сетевого запроса или unbounded allocation. Advisory GHSA-2jwf-f4xq-f24h сообщает о границе «ep_etherpad-lite: <= 3.0.0; исправлено в 3.1.0», но не подтверждает состояние конкретной системы. Если нет runtime provenance и достижимости функции, итог только Unknown. Условия остановки: fixture обращается к внешней сети или production, затрагивает реальный объект/credential либо превышает заранее заданный time, memory, depth или side-effect budget.
Доказательства до эксперимента — Etherpad import/export: атомарное создание временных файлов (GHSA-2jwf-f4xq-f24h)
Сначала составьте inventory фактически загруженного package, binary или service revision: lockfile/SBOM, immutable digest и runtime module list. Затем сопоставьте его с «ep_etherpad-lite: <= 3.0.0; исправлено в 3.1.0». Отдельно отметьте конфигурацию, роль и entry point «Etherpad import/export: атомарное создание временных файлов». Absent и OutsideRange требуют доказательств; Candidate означает лишь необходимость fixture. Зелёный health, дата image или номер UI не заменяют эту цепочку.
Одна переменная и контроль — Etherpad import/export: атомарное создание временных файлов (GHSA-2jwf-f4xq-f24h)
Безопасный протокол для этой границы: Подменить temp directory disposable каталогом, заранее создать collision и symlink на соседний marker; handler использует exclusive create, marker hash неизменен. В одном прогоне меняется только одна ось; контрольный вход, окружение и counters остаются постоянными. Сравнивать разные ОС, бренды или конфигурации нельзя. Перед граничным входом сохраните hash fixture и нулевые side-effect counters. Такой дизайн отличает исправление от случайного изменения окружения.
Изоляция fixture — Etherpad import/export: атомарное создание временных файлов (GHSA-2jwf-f4xq-f24h)
Fixture запускается в temp directory, in-memory store, embedded channel, mock renderer, spy allocator либо loopback harness — по типу «Etherpad import/export: атомарное создание временных файлов». Production credentials, реальные пользователи, адреса, telemetry и customer data запрещены. Network transport заменяется spy, subprocess не запускается, большие данные не создаются. Если fixture обращается к внешней сети или production, затрагивает реальный объект/credential либо превышает заранее заданный time, memory, depth или side-effect budget, выполнение прекращается, а файлы/объекты удаляются после сохранения только обезличенных counters.
Как читать наблюдения — Etherpad import/export: атомарное создание временных файлов (GHSA-2jwf-f4xq-f24h)
PASS: контроль проходит, а граничный вход для «Etherpad import/export: атомарное создание временных файлов» останавливается до запрещённого чтения, записи, выдачи секрета, сетевого запроса или unbounded allocation. FAIL: runtime попадает в advisory, entry point достижим, а inert fixture даёт именно состояние «предсказуемое имя в shared temp позволяет заранее создать symlink target». UNKNOWN: не хватает provenance, configuration snapshot, control результата или точки наблюдения. NOT_APPLICABLE: компонент доказанно отсутствует. Нельзя усреднять эти статусы и нельзя считать patched version достаточным без before/after одного fixture.
Таблица решения — Etherpad import/export: атомарное создание временных файлов (GHSA-2jwf-f4xq-f24h)
Строка evidence содержит temp API/collision/symlink matrix, inode and overwrite counter, stop-rule; к ней добавляются version/digest, конфигурационная ветка, control verdict, boundary verdict, counters, monotonic duration и hash fixture. Для GHSA-2jwf-f4xq-f24h ожидаемый ответ связан только с «Etherpad import/export: атомарное создание временных файлов». Проверяет secure creation и cleanup двух handler. Не совпадает с token transfer или plugin path containment. Если старая статья уже отвечает тем же деревом решения, нужен merge/update, а не новый URL.
Остановка и восстановление — Etherpad import/export: атомарное создание временных файлов (GHSA-2jwf-f4xq-f24h)
Немедленный stop применяется, когда fixture обращается к внешней сети или production, затрагивает реальный объект/credential либо превышает заранее заданный time, memory, depth или side-effect budget. Не повышайте нагрузку ради «доказательства», не используйте рабочий payload и не переносите тест в production. Верните disposable state к исходному hash, убедитесь, что side-effect counters равны ожидаемым, и только затем документируйте Unknown или Fail. После обновления повторяется тот же inert fixture; новый номер версии без результата не закрывает проверку.
Пакет для владельца компонента — Etherpad import/export: атомарное создание временных файлов (GHSA-2jwf-f4xq-f24h)
Tempfile-fixture создаёт отдельный disposable directory с заранее известным inode-конфликтом и проверяет атомарное создание через безопасный API. Наблюдаются flags, permissions, владелец, canonical path и отсутствие следования по symlink; содержимое — короткий безличный маркер. Token redemption, clock и session issuance не используются. PASS требует нового файла внутри разрешённого каталога с restrictive mode и гарантированной очисткой как при успехе, так и при исключении. Передайте владельцу: GHSA GHSA-2jwf-f4xq-f24h, package range «ep_etherpad-lite: <= 3.0.0; исправлено в 3.1.0», runtime digest, entry point «Etherpad import/export: атомарное создание временных файлов», sanitized config, таблицу temp API/collision/symlink matrix, inode and overwrite counter, stop-rule, timestamps и stop reason. Источник опубликован 2026-08-13, обновлён 2026-08-13; даты не доказывают эксплуатацию или поисковый спрос. Environment dump, IP, токены, приватные ссылки и пользовательские данные исключаются. Remediation подтверждается повтором fixture и совпадением production-independent evidence.
Материал подготовлен редакцией VOne с помощью автоматизированного черновика; версии, даты, границы и ссылки вручную сверены по advisory и upstream-страницам. Текст самостоятельный, не копирует источник и не содержит эксплуатационных шагов.
Источники и проверка
- GitHub Advisory Database — GHSA-2jwf-f4xq-f24h проверено 2026-09-02
- Первичный upstream — Etherpad import/export проверено 2026-09-02
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.