
Обходной путь для CVE-2020-10663 (уязвимость в json gem)
Gem json содержит уязвимость безопасности CVE-2020-10663. При разборе некоторых JSON-документов gem json может быть принуждён к созданию произвольных объектов в целевой системе.
Пользователям настоятельно рекомендуется обновиться до json 2.3.0 или более поздней версии.
Для пользователей, которые не могут обновить свою версию json, этот gem (json_cve_2020_10663) выполняет monkey-patch вашей версии json для защиты от CVE-2020-10663.
Обратите внимание, что если вы используете текущую версию Rails 3.2 LTS или 4.2 LTS, этот gem больше не требуется.
json 1.7.7 или более поздняя, но раньше 2.3.0.Добавьте эту строку в Gemfile вашего приложения:
gem 'json_cve_2020_10663'
А затем выполните:
$ bundle
Или установите самостоятельно:
$ gem install json_cve_2020_10663
Подключите gem для исправления gem json:
require 'json_cve_2020_10663'
Обратите внимание, что Rails автоматически подключает все gems из вашего Gemfile при запуске приложения.
Вы можете проверить, что исправление применено, выполнив следующий код из окружения вашего приложения:
JSON::GenericObject.json_creatable = true
JSON('{"json_class":"JSON::GenericObject"}').class
Если это возвращает Hash, исправление применено верно. Если возвращает JSON::GenericObject, исправление не загружено.
После клонирования репозитория выполните bin/setup для установки зависимостей. Затем выполните rake spec для запуска тестов. Вы также можете запустить bin/console для интерактивной консоли, которая позволит вам экспериментировать.
Чтобы установить этот gem на локальную машину, выполните bundle exec rake install. Чтобы выпустить новую версию, обновите номер версии в version.rb, а затем выполните bundle exec rake release, который создаст git-тег для этой версии, отправит коммиты и теги, а также загрузит файл .gem на rubygems.org.
Gem доступен с открытым исходным кодом на условиях лицензии MIT.