Защитная инструкция по Rails HTML Sanitizer и ghsa-cj75-f6xr-r4g7: установить применимость, проверить локальность SVG reference attributes на одноразовом стенде, измерить безопасный исход и подготовить обратимый выпуск без production-данных.
Карта применимости для Rails HTML Sanitizer
Advisory описывает отдельную проблему: разрешённый SVG reference element может обратиться к внешнему документу через неограниченный href. Проверяемая граница проходит между PermitScrubber allowlist, SVG reference attribute и sanitized fragment. Диапазоны Reviewed record: rubygems:rails-html-sanitizer >= 1.0.3, < 1.7.1 → 1.7.1. Severity определяет очередь, а не факт компрометации или доступности пути. Снимите версия gem, scrubber class, allowed tags/attributes, reference scheme/origin class, removed attributes и output tree. Для каждого элемента укажите observed, expected, unknown или not-applicable, время и происхождение. Severity medium не подтверждает атаку, ущерб либо состояние конкретного deployment. Если происхождение бинарника неизвестно, не делайте вывод по одному package manager.
Окно обновления и контроль регрессии
Зафиксируйте исходный dependency tree и артефакт, установите подтверждённую исправленную ветку из диапазона «rubygems:rails-html-sanitizer >= 1.0.3, < 1.7.1 → 1.7.1» в staging и повторите тот же baseline/boundary/baseline набор. Не меняйте одновременно reverse proxy, role model, parser settings или OS: иначе нельзя связать результат с обновлением. Сравните latency, memory, accepted/rejected decisions и обычный функциональный сценарий. Временный containment снимают только после безопасного результата и готового возврата. Возврат для этой карточки: удалить fragment и test config, вернуть Gemfile.lock, очистить sandbox.
Критерий закрытия и минимальный пакет
Карточка закрывается, когда версия и provenance подтверждены, граничный вход даёт ожидаемый отказ или безопасную обработку, обычный контроль проходит, cleanup завершён, а журнал не содержит новых warning/error. Минимальный пакет для поддержки: gem version, allowlists, two reference classes, sanitized trees/hashes, decision и cleanup. В нём не должно быть IP, tokens, passwords, cookies, private keys, полного config, реальных файлов или payload. Отдельной строкой укажите: GitHub Reviewed Advisory подтверждает механизм и диапазон, но не эксплуатацию в этой среде, популярность запроса, индексацию или позиции.
Матрица решений на защитной границе
Разложите сценарий на вход, policy/parser, защищаемый объект и наблюдаемый исход. Для Rails HTML Sanitizer это «между PermitScrubber allowlist, SVG reference attribute и sanitized fragment». Ветвь close допустима, когда runtime вне указанных диапазонов или функция недостижима и это подтверждено. Ветвь update выбирают при совпавшей версии и доступном фиксированном артефакте. Ветвь contain оставляет узкое ограничение доступа до окна обновления. Ветвь escalate нужна при unknown provenance. Любая неоднозначность блокирует широкую рекомендацию. Не объединяйте этот механизм с соседними advisory только из-за общего слова security.
Обратимый тест без эксплуатационного payload
Безопасный опыт: без браузера прогнать через scrubber локальный fragment с пустым use и фиктивной внешней HTTPS-ссылкой без script, events или реального домена. Сначала записывают baseline, затем один boundary-case и повторяют baseline. Измеримый безопасный исход: локальная hash-ссылка сохраняется по policy, внешняя reference удаляется либо весь element отбрасывается. Не увеличивайте объём, глубину, число соединений или права после первого отклонения. Сохраняйте только decision code, counters, timings и hashes; реальные имена, адреса, credentials и пользовательские данные исключите. Красная линия: нужно загружать внешний SVG, выполнять DOM или менять production allowlist. При её достижении завершите стенд и оставьте результат blocked/unknown вместо попытки воспроизвести атаку.
Материал подготовлен редакцией VOne с помощью ИИ, затем вручную проверен по двум прямым HTTPS-источникам; факты, диапазоны версий, безопасный опыт и отсутствие рекламных обещаний сверены человеком.
Источники и проверка
- GitHub Reviewed Advisory ghsa-cj75-f6xr-r4g7 проверено 2026-08-30
- Upstream-страница Rails HTML Sanitizer проверено 2026-08-30
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.