Перейти к содержанию

Обзор

Если вы обнаружили возможную проблему безопасности, связанную с Grav или одним из его расширений, напишите основной команде на contact@getgrav.org, и мы займёмся ей как можно скорее.

Проблемы не следует публично раскрывать — в том числе на GitHub, в Discord или на форуме Discourse, — пока основная команда не изучит её и не свяжется с заинтересованными сторонами для решения. Кроме того, если проблема не является потенциальной угрозой для пользователей Grav, её, вероятно, лучше отправить как обычную задачу. Если сомневаетесь, свяжитесь с нами, и мы поможем понять, куда относится отчёт.

Отправка отчёта

Когда вы обнаружили потенциальную уязвимость в ядре Grav или одном из его расширений, желательно подойти к её отправке ответственно:

  1. Укажите номера версий Grav и всех установленных расширений, а также к какому компоненту относится проблема.
  2. Опишите уязвимость подробно и сжато, чтобы меньше времени уходило на поиск её источника.
  3. Запишите точные шаги, необходимые для воспроизведения окружения, в котором возникает уязвимость: какие настройки заданы в system.yaml, какой контент создан и какие системные настройки применены?
  4. По возможности опишите источник уязвимости и способ её исправления, чтобы разработчики могли и воспроизвести проблему, и закрыть её.

Ответственное раскрытие

Grav придерживается модели ответственного раскрытия при отправке обнаруженных уязвимостей. Это значит, что после того, как проблема обнаружена, протестирована и успешно продемонстрирована, разработчикам должен быть предоставлен срок для её исправления до публичного раскрытия. Дело в том, что поиск и проверка решений по сообщённым проблемам требуют времени, а ситуация чувствительна ко времени, и Grav — проект с открытым исходным кодом, авторы которого не могут уделять ему неограниченное время. Поэтому рекомендуется также предложить, как решить проблему или исправить её, если вы знакомы с соответствующим кодом.

Процесс решения

Если ваш отчёт точен и новая проблема безопасности воспроизводится, основная команда займётся ей как можно скорее. Когда это будет сделано, проблема и её решение будут включены в публичный репозиторий отчётов. Вас укажут по имени и по желанию добавят ссылку на ваш сайт или профиль в соцсети, но если хотите, можете попросить указать псевдоним или «анонимный автор».

Отчёты и проблемы остаются приватными, пока проблема не решена. Если сопровождающий расширения не решает проблему вовремя, расширение удаляется из Grav Package Manager, пока она не будет решена.

Поддерживаемые версии

Поддерживается только текущая версия Grav major.minor. Это значит, что исправления выходят в major.minor.patch, но не переносятся обратно на старые версии Grav. Важно поддерживать установку в актуальном состоянии, и многие изменения полезны, даже если с точки зрения безопасности они явно не нужны.

Уровни риска

В Grav как программном обеспечении различают пять уровней риска:

  • Чрезвычайно критичный
  • Критичный
  • Умеренно критичный
  • Менее критичный
  • Не критичный

Они рассчитываются на основе «Common Misuse Scoring System» (CMSS) от Национального института стандартов и технологий (NIST). Поскольку для Grav нет легко доступного калькулятора, используйте RiskCalc от Drupal (пояснения).