CVE-2020-10663: Уязвимость небезопасного создания объекта в JSON (дополнительное исправление)

Уязвимость небезопасного создания объекта во встроенном в Ruby геме json. Этой уязвимости назначен CVE идентификатор CVE-2020-10663. Мы строго рекомендуем обновить гем json.

Детали

При прочтении JSON-документов, гем json (включая встроенный в Ruby) может быть вынужден создать произвольные объекты в атакуемой системе.

Это та же проблема, что и CVE-2013-0269. Предыдущее исправление было неполным, которое касалось JSON.parse(user_input), но не затрагивало некоторые другие типы прочтения JSON, включая JSON(user_input) и JSON.parse(user_input, nil).

Подробнее смотрите CVE-2013-0269. Обратите внимание, что эта проблема могла быть использована для недоступности сервиса путём создания большого количества объектов-символов, которые не уничтожаются при сборке мусора, но этот вид атаки больше не действителен, поскольку объекты-символы теперь можно уничтожать при сборке мусора. Однако создание произвольных объектов может привести к серьёзным последствиям для безопасности в зависимости от кода приложения.

Пожалуйста, обновите гем json до версии 2.3.0 или новее. Вы можете использовать gem update json для его обновления. Если вы используете bundler, пожалуйста, добавьте gem "json", ">= 2.3.0" в ваш Gemfile.

Затронутые версии

  • Гем JSON 2.2.0 или ранее

Благодарности

Спасибо Jeremy Evans за обнаружение этой проблемы.

История

  • Оригинал опубликован 2020-03-19 13:00:00 (UTC)